1

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は変更されます。

4

0 に答える 0