Изменить PPI (пиксель на дюйм) PNG-файла в Android - PullRequest
1 голос
/ 31 октября 2011

У меня есть приложение, которое используется для редактирования файла PNG (например, для записи текста на них).
Мой процесс - создать растровое изображение из этого PNG, использовать Canvas для рисования текста, а затем использовать bitmap.compress для сохранения результата на SD-карту.
Все отлично работает. Но когда я проверяю свой результат, я вижу, что PPI был изменен. Как сохранить этот PPI ​​как оригинальный.
Вот пример: мое Исходное изображение имеет разрешение 1300x700 и 250 ppi (я проверил с PS), но после использования моего приложения для редактирования этого изображения мое результирующее изображение имеет разрешение 1300x700 и 72. PPI . Я хочу, чтобы у моего результата все еще было разрешение 1300x700 и 250 ppi
Пожалуйста, помогите мне, спасибо за вашу помощь.


вот оно:

        Bitmap bitmap = null;

        try
        {
            BufferedInputStream buf = new BufferedInputStream(
                    PicksActivity.this.getAssets().open( file_name ) );

            bitmap = BitmapFactory.decodeStream( buf );
        }
        catch ( Exception e )
        {
            // TODO: handle exception
        }

Затем создайте растровое наложение:

Bitmap bmOverlay = Bitmap.createBitmap( bitmap.getWidth(), bitmap
                    .getHeight(), Config.ARGB_8888 );

и они сжимают его:

bmOverlay.compress( CompressFormat.PNG, 100, fos );

эта проблема не из-за drawText, потому что когда я не рисую текст, просто открываю и сохраняю, PPI все еще меняется.

...