2016-06-30 8 views
1
Bitmap bitmap=BitmapFactory.decodeResource(getResources(), R.drawable.images); 
ByteArrayOutputStream stream=new ByteArrayOutputStream(); 
bitmap.compress(Bitmap.CompressFormat.PNG, 90, stream); // what 90 does ?? 
byte[] image=stream.toByteArray(); 

bitmap.compress(Bitmap.CompressFormat.PNG, 90, stream);の90は何を意味しますか?画像をアンドロイドのバイト配列に変換する

+1

可能な重複[アンドロイドにbase64文字列にバイト配列とバイト配列に画像を変換するには?](http://stackoverflow.com/questions/10513976/how -to-convert-image-into-byte-array-and-byte-array-base64-string-in-android) – Ironman

答えて

2
public boolean compress (Bitmap.CompressFormat format, int quality, OutputStream stream) 

品質:コンプレッサー、0-100へ

ヒント。 0は小さなサイズの場合は圧縮、100の場合は最高品質の圧縮を意味します。無損失のPNGなどの一部の形式では、品質設定が無視されます。

+0

値が50と90の場合の違いは何ですか?私はまだ混乱しています。 qaulityを圧縮する方が良いです。私は適切なqaulityをどうやって決めなければなりませんか? – FaisalAhmed

+1

あなたが高品質の画像を使用する場合は、そのイメージ品質係数100それ以外の場合、あなたはrequirmentに応じて相対値。 –

1
boolean compress (Bitmap.CompressFormat format, 
       int quality, 
       OutputStream stream) 

ここで、Qualityはコンプレッサーをヒントするために使用される整数型で、0〜100です。
ここで、0は最小品質の圧縮を意味し、100は最大品質の圧縮を意味します。
これは、あなたの要求に完全に依存します。圧縮後に画像をどのような品質で表示するか(画像のサイズにも影響します)
PNGのような一部のフォーマットは、品質設定を無視します。より多くの情報ここclickについては

...の

関連する問題