2011-07-07 1 views
4

CanvasとBitmapの関係は何ですか?CanvasとBitmapの関係は何ですか?

Bitmap drawingBitmap = Bitmap.createBitmap(bmp1.getWidth(), 
bmp1.getHeight(), bmp1.getConfig()); 
canvas = new Canvas(drawingBitmap); 
paint = new Paint(); 
canvas.drawBitmap(bmp1, 0, 0, paint); 
paint.setXfermode(new PorterDuffXfermode(android.graphics.PorterDuff.Mode.SCREEN)); 
canvas.drawBitmap(bmp2, 0, 0, paint); 
compositeImageView.setImageBitmap(drawingBitmap); 

私はこのコードを理解していません。なぜdrawingBitmapはbmp1とbmp2の構成ですか?

答えて

9

Canvasは基本的にBitmapです。キャンバスを使用して何かを描画すると、キャンバスは作成されたBitmapに描画されます。したがって、キャンバスを使用して2つのビットマップを描画すると、ビットマップが合成され、結果はdrawingBitmapに格納されます。これはキャンバスを支持するためです。

Anhの類推は正解ですが(おそらくあまり単純化していますが、これも私がやっていることです) - コメントで言及したように、Canvasをペン、Paintと考えることができますそのペンの構成(たとえば、交換可能なインクまたは何か - あなたが設定可能なペンのアイデアに合うものであれば)、そしてBitmapを描く紙として。あなたが言葉の受け入れられた意味にあまりにも集中するならば、類推は混乱します。

3

キャンバスをペンとし、描画ビットマップを紙として考えてみましょう。あなたのペンを使って紙の上に何かを描くと、描画するものが得られます。^ _^ 技術的には、Bitmapから他のビットマップを描画するためにCanvasオブジェクトを構築できます。

+0

ありがとうございます。しかし、私はペンキはペンではなく、ペンのようなキャンバスだと思います! – Judy

+1

ペンの設定としてペンとペンキのキャンバスを考えると、そのアナロジーがうまくいくかもしれません。 – nil

関連する問題