Intereting Posts
Галерея и полноэкранный ImageView, проблема с их объединением Как повернуть прямоугольник, нарисованный на холсте в Android? Возможно ли создать базу данных SQLite в памяти из существующего фрагмента памяти? Как воспроизводить видео на Android-планшете с мобильным мобильным телефоном, и они нестабильны? Java / Android: java.lang.OutOfMemoryError при создании объекта JSON Android: Typeface изменяется, когда я применяю пароль Type on EditText Почему я не могу переопределить onConfigurationChanged (Configuration)? Андроид намерен перейти к нескольким пунктам назначения? Недопустимая ошибка LOC заголовка Maven для поддержки Android-v4 Панель навигации под панелью инструментов Экран принудительного включения В чем разница между GCM для iOS и службой push-уведомления, предоставляемой Apple Ошибка при добавлении CardView в макет Обнаружение подключенного USB-устройства Невозможно читать повторяющиеся события из календарей Android

Bitmap.compress возвращает false для рисунка

У меня есть код, в котором пользователь рисует что-то на экране, и я хочу сохранить его как PNG в байте []. Однако метод compress () возвращает false. Любая идея, почему это так? Есть ли лучший способ получить байт []?

Bitmap bm = Bitmap.createBitmap(mWidth, mHeight, Bitmap.Config.ALPHA_8); Canvas c = new Canvas(bm); c.drawPath(mSignaturePath, mSignaturePaint); ByteArrayOutputStream out = new ByteArrayOutputStream(); if (bm.compress(Bitmap.CompressFormat.PNG, 100, out)) { byte[] result = out.toByteArray(); // Never gets called } 

Заранее спасибо.

Проблема заключалась в том, как я создавал изображение:

 Bitmap bm = Bitmap.createBitmap(mWidth, mHeight, Bitmap.Config.ALPHA_8); 

Когда я изменил это на Bitmap.Config.RGB_565 он работал нормально.

Спасибо Марку Мерфи (@commonsware) за совет во время его работы!