我有用于编辑 PNG 文件的应用程序(比如在它们上写文本)。
我的过程是从该 PNG 创建位图,使用 Canvas 绘制文本,然后使用 bitmap.compress 将结果保存到 SD 卡中。
一切正常。但是当我检查我的结果时,我发现 PPI 发生了变化。如何保持 PPI 与原始 PPI 相同。
这是示例:我的原始图像具有 1300x700 res 和250 ppi(我使用 PS 检查),但在使用我的应用程序编辑该图像后,我的结果图像具有 1300x700 res 和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仍然改变。