我有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仍然会改变。