Android 公式原文アドレス: http://developer.android.com/guide/topics/graphics/2d-graphics.html
-----以下の翻訳には、理解しやすいように私自身の考えが多くの点で組み込まれています翻訳があまり適切ではないので、英語の原文を添付します
キャンバスで描画キャンバスで描画
特殊な描画や/または実行したいアプリケーションを作成しているときグラフィックスのアニメーションを制御するには、
Canvas
を通じて描画する必要があります。
Canvas は、グラフィックスが描画される実際の表面への見せかけ、またはインターフェイスとして機能します。キャンバスには、すべての「描画」が保持されます。キャンバスを介して、描画は実際にはウィンドウ内に配置される
Bitmap
onDraw()
callbackメソッド内で描画している場合は、Canvasが提供されており、それに描画呼び出しを配置するだけで済みます。
からCanvasを取得することもできます。 SurfaceView オブジェクトを扱う場合は、
、
(これらのシナリオは両方とも次のセクションで説明します) ただし、新しい Canvas を作成する必要がある場合は、
SurfaceHolder.lockCanvas()
を定義する必要があります。描画は実際に実行されます。Canvas には常にビットマップが必要です。次のようにして新しい Canvas を設定できます。
onDraw() コールバック メソッドで描画している場合は、描画ボード (Canvas) がすでに提供されています。そして、あなただけがそのdrawメソッドを使って描画する必要があります。 SurfaceVeiw オブジェクトを扱いたい場合は、Surface.lockCanvas() から Canvas を取得することもできます。上記 2 つの状況については、以下で説明します。いずれにせよ、新しい Canvas を作成する必要がある場合は、Bitmap を定義する必要があり、描画は実際には Bitmap 上で実行されます。このビットマップは Canvas に必要です。次のように新しい Canvas を設定できます:
Bitmap
Bitmap b = Bitmap.createBitmap(100, 100, Bitmap.Config.ARGB_8888); Canvas c = new Canvas(b);
Canvas.drawBitmap(Bitmap,...)
View.onDraw()
によって提供される Canvas を使用して最終的なグラフィックを描画することをお勧めします (
次のセクションを参照)。
これで、Canvas は、この定義されたビットマップにグラフィックを描画します。ビットマップに描画した後、
SurfaceHolder.lockCanvas()
Canvas.drawBitmap(Bitmap,...)方法其中的一种
Canvas
、
drawBitmap(...)
drawRect(...)
など、使用できる独自の描画メソッドのセットがあります。 and many more. Other classes that you might use also have methods. For example, you'll probably have some 这个Canvas类有它自己的一系列绘制方法,并且你可以使用,像drawBitmap(...),drawRect(),drawText()等等。你可能用到的其他含有draw()方法的类,例如:你有一些Drawable对象,并且你想绘制到Canvas上。Drawable有它自己的draw()方法,它把Canvas作为参数传进去,将自己绘制到Canvas上。
以上就是Canvas and Drawables 翻译第二集的内容,更多相关内容请关注PHP中文网(m.sbmmt.com)!draw()
Drawable
that you want to put on the Canvas. Drawable has its owndraw()
that takes your Canvas as an argument.