PNGファイルを編集するために使用されるアプリがあります(テキストを書き込むなど)。
私のプロセスは、そのPNGからビットマップを作成し、Canvasを使用してテキストを描画し、bitmap.compressを使用して結果をSDカードに保存することです。
すべてが正常に機能します。しかし、結果を確認すると、PPIが変更されていることがわかります。そのPPIを元のPPIのように保つ方法。
例を次に示します。元の画像の解像度は1300x700で250ppi ( PSで確認)ですが、アプリを使用してその画像を編集した後、結果の画像の解像度は1300x700で72ppiになります。結果画像に1300x700解像度と250ppiを
残したいのですが、
助けてください。助けてくれてありがとう。
ここにあります:
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は変更されます。