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

黄舟
リリース: 2017-01-16 16:42:41
オリジナル
1112 人が閲覧しました


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)!


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート