Android JPEG zu Bitmap = Verkleinerung
Bemerkte ich, dass, nachdem ich konvertiert meine jpeg-Datei in eine bitmap, die Größe fällt fast die Hälfte, ist das normal? Ich tun etwas wie dieses:
bmp1 = BitmapFactory.decodeFile(Environment.getExternalStorageDirectory()
+ "/Test/test" + System.currentTimeMillis()
+ ".jpg");
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bmp1.compress(Bitmap.CompressFormat.JPEG, 100, stream);
byte[] byteArray = stream.toByteArray();
System.out.println(byteArray.length);
- Sie scheinen zu Dekomprimieren von jpeg-und verdichten es wieder in jpeg... also, wenn es kleiner müssen Sie sein, die Komprimierung auf eine geringere Qualität als das original.
- Obwohl die anderen Antworten sind richtig, wenn die dekodierten bitmap wurde ursprünglich aufgenommen mit einer Kamera oder anderen digitalen Gerät, das Bild zu decodieren und recompressing es würde entfernen Sie alle Exif-Daten, die bis zu 65.535 bytes. Nur etwas im Auge zu behalten.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Deinem code ist die Dekodierung eines jpeg in ein bitmap und dann re-Komprimierung in ein jpeg wieder. Die re-Komprimierung ist wahrscheinlich eine Verringerung der Dateigröße auf Kosten der Verringerung der Qualität des Bildes.
Jpeg-Kompression (auch bei Qualität 100) ist nicht verlustfrei.