Метод compress()
из Bitmap
является «методом экземпляра» (в отличие от «статического метода»). Это означает, что он должен вызываться для реального существующего объекта Bitmap
, а не для самого класса Bitmap
.
Другими словами:
Bitmap uncompressed = /* some bitmap you've gotten from somewhere */
ByteArrayOutputStream out = new ByteArrayOutputStream();
uncompressed.compress(..., out);
Bitmap compressed = BitmapFactory.decodeStream(new ByteArrayInputStream(out.toByteArray()));
Здесь вы вызываете compress()
для uncompressed
экземпляра растрового изображения.
На некотором уровне это имеет интуитивный смысл. Если бы вы могли просто написать:
Bitmap compressed = Bitmap.compress(...);
Тогда вам нужно спросить себя: что вы сжимаете?