0

ビューのスクリーンショットを撮ります(白い背景に黒い線が描かれています):

myView.setDrawingCacheEnabled(true);
Bitmap drawing = Bitmap.createBitmap(myView.getDrawingCache());

このビットマップを次のように回転させると、次のようになります。

Matrix matrix = new Matrix();
matrix.postRotate(45);
drawing = Bitmap.createBitmap(drawing, 0, 0, drawing.getWidth(), drawing.getHeight(), matrix, true);

背景が透明な画像を取得します。

透明色を白に置き換え、アーティファクトを残さないようにするには、どうすればよいですか?これも可能ですか?

4

1 に答える 1

0

私の画像は黒い背景に黒い線だけで構成されているため、この問題を非常に非効率的な方法で回避することができました。画像内のすべてのピクセルを繰り返し処理し、黒でない場合はその色を白に置き換えます。Color.TRANSPARENT と Color.WHITE の間に数ピクセル幅の分離ゾーンがあるようです。これにより、よりカラフルな画像で同じ結果を達成しようとする人にとっては非常に困難になります。

于 2012-08-12T19:51:32.737 に答える