Gibt es eine Möglichkeit, die Größe einer JPEG-Bilddatei (vom Dateisystem zum Dateisystem) zu ändern, ohne Metadaten zu entfernen (genau wie ImageMagicks convert in.jpg -resize 50% out.jpg
)?
Die einzige Möglichkeit, die Größe zu ändern .jpg Dateien, die ich gefunden habe, sind BitmapFactory.decodeStream
und Bitmap.compress
, was wie viel Overhead aussieht, wenn ich Bildmetadaten manuell übertragen muss.
Es ist möglich, die Metadaten mit android.media.ExifInterface zu lesen, um die Metadaten zu komprimieren Bild über Bitmap.compress
und dann speichern Sie die Metadaten zurück:
Ich habe es nicht getestet, aber ich habe mir die Quellencode von ExifInterface , könnte es funktionieren. Wenn Sie sich nicht auf die Implementierungsdetails verlassen möchten, können Sie natürlich alle Attribute durchlaufen und kopieren.
Eine andere Lösung wäre, die Android Exif Extended -Bibliothek zu verwenden. Es ist ein kleines Projekt zum Lesen und Schreiben von Exif-Daten.Tags und Links android image-resizing jpeg