Chcę skompresować obraz z aparatu do formatu PNG, aby zmniejszyć rozmiar, , więc używam tego Kod:bitmap.compress (Bitmap.CompressFormat.PNG, 0, fOut) zwiększanie rozmiaru obrazu w stosunku do oryginału
compressedPictureFile = new File(imagePath);
Bitmap bitmap = BitmapFactory.decodeFile(imagePath);
FileOutputStream fOut = new FileOutputStream(compressedPictureFile);
boolean compressed = bitmap.compress(Bitmap.CompressFormat.PNG, 0, fOut);
fOut.flush();
fOut.close();
problemem jest to, że compressedPictureFile jest rzeczywiście większa, że obraz (od 1 MB do 6Mb) oryginał
Czego mi brakuje? A czy to najlepszy sposób na zmniejszenie rozmiaru obrazu?
Dzięki
jest parametrem jakość taka sama jak rozdzielczość? jak mogę zmniejszyć rozdzielczość? –
Parametr 'quality' wpływa na to, jak dobrze zachowane będą kolory przy korzystaniu z kompresji jpg. Nie ma żadnego efektu przy wyprowadzaniu png. Możesz przeczytać trochę o metodzie 'compress' tutaj: http://developer.android.com/reference/android/graphics/Bitmap.html#compress%28android.graphics.Bitmap.CompressFormat,%20int,%20java .io.OutputStream% 29 – Jave
Istnieje wiele samouczków dotyczących zmniejszania rozmiaru obrazu, ale najprościej jest po prostu utworzyć nową, mniejszą bitmapę za pomocą 'Bitmap.createScaledBitmap': http://developer.android.com/reference/ android/graphics/Bitmap.html # createScaledBitmap% 28android.graphics.Bitmap,% 20int,% 20int,% 20boolean% 29 – Jave