在Android中更改PNG文件的PPI(每英寸像素数)

时间:2011-10-31 03:10:14

标签: android bitmap ppi

我有app用于编辑PNG文件(就像在它们上面写文字一样) 我的过程是从该PNG创建位图,使用Canvas绘制Text,然后使用bitmap.compress将结果保存到SD卡中。
一切都很好。但当我查看我的结果时,我发现PPI已经改变了。如何保持PPI像原始PPI。
以下是示例:我的原始图像具有1300x700分辨率和 250 ppi (我使用PS检查)但在使用我的应用程序编辑该图像后,我的结果图像具有1300x700分辨率和 72 ppi 。我想要我的结果图像仍然有1300x700 res和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仍然会改变。

0 个答案:

没有答案