0

ImageView を拡張して画像を表示しています。画像の入力ストリームは、左上の座標とともにソケットから取得されます。

残りの画面が白いので、画像の一部を表示できます。私の問題は、キャンバス全体が現在のビットマップで上書きされ、以前の描画が白い画面で消去されることです。

解決策を探したところ、キャンバスに関する情報が「canvas.drawBitmap(bitmap,top,left,paint) が呼び出されると、キャンバスのすべてのピクセルが描画される」という既知の情報に出くわしました。

キャンバス全体を更新せずに、画像(キャンバス)の汚れた部分のみを更新する必要があります。

画面(キャンバス)の汚れた部分を更新する方法と、以前の描画が消去されないようにする方法を教えてください。

ありがとうございます。それでは、お元気で

ミニ。

4

1 に答える 1

-1

空白を作成してから描画する代わりに、既にあるものからキャンバスを作成できます。これは、それを達成する方法の例です。

yourImageView.setDrawingCacheEnabled(true);
Bitmap bm = yourImageView.getDrawingCache();
final Canvas canvas = new Canvas(bm);

次に、以前に ImageView にあったものを含むキャンバスがあり、必要な部分を更新できます。そのためには、PorterDuff のモードを参照することをお勧めします。

于 2012-11-19T12:07:33.387 に答える