Decode byte-array in bitmap, komprimiert wurde, in Java
Ich bin komprimieren Sie eine bitmap in der folgenden Weise
Bitmap bmpSig = getMyBitMap();
int size = bmpSig.getWidth() * bmpSig.getHeight();
ByteArrayOutputStream out = new ByteArrayOutputStream(size);
bmpSig.compress(Bitmap.CompressFormat.JPEG, 100, out);
byte[] bytSig = out.toByteArray();
Bin ich dann versuchen das Bild in ein Android-Bildansicht aus dem byte-array. Wenn ich das mache bekomme ich ein Bild, das ein komplett Schwarzes Bild.
ImageView myImg = (ImageView) findViewById(R.id.img_view);
myImg.setImageBitmap(BitmapFactory.decodeByteArray(bytSig, 0, bytSig.length));
Ich gehe davon aus, dass es ist, weil ich bin fehlt noch ein Schritt, bevor BitmapFactory.decodeByteArray() zum umkehren der jpeg-Kompression. Oder habe ich das falsch verstanden, wie die Kompression funktioniert?
InformationsquelleAutor rpcutts | 2011-03-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich wusste gar nicht, dass der hintergrund für meine bitmap (aus einem Canvas-Objekt) wurde transparent. Da diese bitmap wird nur schwarze Linien auf einem weißen hintergrund-das schwarze Bild durch die Komprimierung auf JPEG-geben Sie dem Bild einen schwarzen hintergrund.
Habe ich geändert
zu
Und es funktioniert wie erwartet.
InformationsquelleAutor rpcutts