ホームページ  >  記事  >  ウェブフロントエンド  >  Canvas と Drawables の翻訳 エピソード 2

Canvas と Drawables の翻訳 エピソード 2

黄舟
黄舟オリジナル
2017-01-16 16:42:411094ブラウズ


Android 公式原文アドレス: http://developer.android.com/guide/topics/graphics/2d-graphics.html

-----以下の翻訳には、理解しやすいように私自身の考えが多くの点で組み込まれています翻訳があまり適切ではないので、英語の原文を添付します


キャンバスで描画キャンバスで描画

特殊な描画や/または実行したいアプリケーションを作成しているときグラフィックスのアニメーションを制御するには、

Canvas

を通じて描画する必要があります。
Canvas は、グラフィックスが描画される実際の表面への見せかけ、またはインターフェイスとして機能します。キャンバスには、すべての「描画」が保持されます。キャンバスを介して、描画は実際にはウィンドウ内に配置される

Bitmap
上で実行されます。

アプリケーションを作成するとき、アプリケーションで特別なグラフィック描画や制御を実行する必要があります。アニメーションの場合、 Canvas を通して描画する必要があります。アートボードはインターフェイスとして機能し、実際にはグラフィックが描画されるインターフェイスです。アートボード (キャンバス) にはすべての描画メソッドが備わっています。 Canvas を使用すると、描画は実際にはウィンドウ (window) 内に配置された基礎となるビットマップ描画 (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

これで、Canvas は定義された Bitmap 上に描画されます。その後、

Bitmap b = Bitmap.createBitmap(100, 100, Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(b);

メソッドの 1 つを使用して、その Bitmap を別の Canvas に移すことができます。最終的には、

Canvas.drawBitmap(Bitmap,...)

または

View.onDraw()

によって提供される Canvas を使用して最終的なグラフィックを描画することをお勧めします (

次のセクションを参照)。


これで、Canvas は、この定義されたビットマップにグラフィックを描画します。ビットマップに描画した後、

SurfaceHolder.lockCanvas()

を通じてビットマップを別のキャンバスに移動できます。最終的なグラフィックを描画するには、View.onDraw() メソッドまたは SurfaceHolder.lockCanvas() を通じて提供される Canvas を使用することをお勧めします。


Canvas.drawBitmap(Bitmap,...)方法其中的一种

クラスには、

Canvas


drawBitmap(...)

drawRect(...)

など、使用できる独自の描画メソッドのセットがあります。

and many more. Other classes that you might use also have

draw()

methods. For example, you'll probably have some

Drawable
objects
that you want to put on the Canvas. Drawable has its own
draw()
method
that takes your Canvas as an argument.

这个Canvas类有它自己的一系列绘制方法,并且你可以使用,像drawBitmap(...),drawRect(),drawText()等等。你可能用到的其他含有draw()方法的类,例如:你有一些Drawable对象,并且你想绘制到Canvas上。Drawable有它自己的draw()方法,它把Canvas作为参数传进去,将自己绘制到Canvas上。

以上就是Canvas and Drawables 翻译第二集的内容,更多相关内容请关注PHP中文网(www.php.cn)!


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。