Ich habe eine sehr große Bilddatei (über 25 MB) mit Abmessungen etwa 10000x10000 px. Ich muss dieses Bild verkleinern, dass Datei nicht mehr als 20MB war. Ich weiß, überVerkleinern Sie die sehr große Bilddatei bis zu etwas weniger groß
BitmapFactory.Options o = new BitmapFactory.Options();
o2.inSampleSize = <scale>;
BitmapFactory.decodeSomething(...);
Aber wenn scale = 2
Dimension 5000x5000 Pixel waren, das ist gut für mich, aber mehr als android dekodieren kann und es verursacht OutOfMemory
. Also die Frage ist, wie 10000x10000 px Bilddatei auf 5000x5000 px Bilddatei herunterskalieren? Gibt es eine Möglichkeit, es zu tun, ohne Bitmap
zu verwenden, um OutOfMemory
zu vermeiden?
Versuchen Sie [Tiny PNG] (https://tinypng.com/). Es wird die Größe um 60-70% reduziert. Es wird nur die Größe (MB) nicht skalieren Bild, aber gute Option. –
Dies ist komplett keine mobile Aufgabe, um solche Bilder zu skalieren. Aber als eine Option können Sie versuchen, Bildteile zu laden, zum Beispiel teilen Sie es in 4x4 = 16 Teile, skalieren Sie jede von ihnen getrennt, und dann verbinden sie –
was Sie tun möchten mit 5000x5000 px Bild auf Ihrem Telefon? – pskink