2016-12-21 4 views
0

私は、LIMITからUPLOAD IMAGEに設定したい場合、問題があります(例:200KB)。Androidからデータベースへの画像アップロードの制限を設定する方法

private void uploadImage(){ 
    if (bitmap.getByteCount() > 7 * 1024 * 1024){ 
     H.T(AddFotoActivity.this,"Image Maks 200KB"); 
    } 
} 

私はこのコードを試していますが、私は110KBしかアップロードできません。アップロードしようとすると116KBはアップロードできません。 200KBのファイルをアップロードするには?

/** 
* reduces the size of the image 
* @param image 
* @param maxSize 
* @return 
*/ 
public Bitmap getResizedBitmap(Bitmap image, int maxSize) { 
    int width = image.getWidth(); 
    int height = image.getHeight(); 

    float bitmapRatio = (float)width/(float) height; 
    if (bitmapRatio > 0) { 
     width = maxSize; 
     height = (int) (width/bitmapRatio); 
    } else { 
     height = maxSize; 
     width = (int) (height * bitmapRatio); 
    } 
    return Bitmap.createScaledBitmap(image, width, height, true); 
} 

は次のようにそれを使用します:最高品質の画像についてWikipedia

から

Bitmap scaledImage = getResizedBitmap(photo, 300); //here 300 is maxsize 

(私はこのコードを試してみてください7 * 1024 * 1024

+0

1024のバイトを1キロバイトです。したがって** 200kB * 1024B = 204800バイト** – adalPaRi

+0

しかし、ビットマップは画像ファイルよりもメモリが大きい。したがって、200kの画像ファイルは、ビットマップとして公開されると、はるかに多くなります。 – adalPaRi

答えて

0

を計算する方法がわかりませんQ = 100)、カラーピクセルあたり約8.25ビットが必要です。

したがって、(300 * 300)PXにつながる300x300画像、上の0 = 741500ビット* 8.25ビット/ピクセル確実未満200キロバイト

ある=〜91キロバイトあなたは

...あまりにも他の次元のために試すことができます

あなたもここで

は、コード..ですビットマップを使用して画像を作成し、画像の実際のサイズを比較しようとすることができます:

//create a file to write bitmap data 
File f = new File(context.getCacheDir(), filename); 
f.createNewFile(); 

//Convert bitmap to byte array 
Bitmap bitmap = your bitmap; 
ByteArrayOutputStream bos = new ByteArrayOutputStream(); 
bitmap.compress(CompressFormat.PNG, 0 /*ignored for PNG*/, bos); 
byte[] bitmapdata = bos.toByteArray(); 

//write the bytes in file 
FileOutputStream fos = new FileOutputStream(f); 
fos.write(bitmapdata); 
fos.flush(); 
fos.close(); 
+0

あなたのコードは、widhtとheighのサイズ変更用です。だから、200kファイルのサイズを変更することを意味しない...また、彼は私が思う別の問題を尋ねている.. – adalPaRi

+0

私は間違っているかもしれない...しかし、これを見て前にdownvoteを与えるhttp://stackoverflow.com/質問/ 16954109/reduce-the-a-bit-to-a-width-in-android指定されたサイズの – rafsanahmad007

+0

Ok @ rafsanahmad007は答えをリンクし、コードをコピーしないでください。 – adalPaRi

関連する問題