Heim  >  Artikel  >  Web-Frontend  >  Canvas- und Drawables-Übersetzung, Folge 2

Canvas- und Drawables-Übersetzung, Folge 2

黄舟
黄舟Original
2017-01-16 16:42:411097Durchsuche


Offizielle Android-Originaltextadresse: http://developer.android.com/guide/topics/graphics/2d-graphics.html

------Die folgenden Übersetzungen wurden erstellt in das eigene Denken integriert, leicht verständlich, die Übersetzung ist an vielen Stellen nicht sehr passend, daher der englische Originaltext


Zeichnen mit einer Leinwand, zeichnen mit einem Zeichenbrett (Leinwand)

Wenn Sie eine Anwendung schreiben, in der Sie spezielles Zeichnen ausführen und/oder die Animation von Grafiken steuern möchten, sollten Sie dies tun, indem Sie durch ein

Canvas

zeichnen.
Ein Canvas fungiert für Sie als Vorwand oder Schnittstelle zur eigentlichen Oberfläche, auf der Ihre Grafiken gezeichnet werden – sie enthält alle Ihre „Zeichnungs“-Aufrufe. Über den Canvas wird Ihre Zeichnung tatsächlich auf einem darunterliegenden Untergrund ausgeführt

Bitmap
,
die im Fenster platziert wird.

Wenn Sie eine Anwendung schreiben und in der Anwendung spezielle Grafiken zeichnen oder Animationen steuern möchten, sollten Sie dies über die Leinwand tun ziehen. Eine Zeichenfläche fungiert für Sie als Schnittstelle, eigentlich als Schnittstelle, auf der Ihre Grafiken gezeichnet werden – sie (Canvas) verfügt über alle Zeichenmethoden. Mit der Leinwand wird Ihre Zeichnung tatsächlich auf einer zugrunde liegenden Bitmap-Zeichnung (Bitmap) ausgeführt, die im Fenster (Fenster) platziert wird.

Für den Fall, dass Sie innerhalb der

onDraw()

Rückruf
Zeichnung sind, gilt die Canvas wird für Sie bereitgestellt und Sie müssen nur Ihre Zeichenaufrufe darauf platzieren. Sie können auch ein Canvas von

SurfaceHolder.lockCanvas()

erwerben, wenn Sie mit einem SurfaceView-Objekt arbeiten Szenarios werden in den folgenden Abschnitten besprochen.) Wenn Sie jedoch eine neue Leinwand erstellen müssen, müssen Sie

Bitmap

aufdie Zeichnung definieren Die Bitmap ist für einen Canvas immer erforderlich. Sie können einen neuen Canvas wie folgt einrichten:

Wenn Sie in der Callback-Methode onDraw() zeichnen, ist der Canvas (Canvas) bereits vorhanden Sie, und Sie müssen nur mit der Zeichenmethode darauf zeichnen. Wenn Sie mit dem SurfaceVeiw-Objekt umgehen möchten, können Sie die Leinwand auch von Surface.lockCanvas() abrufen. Die beiden oben genannten Situationen werden im Folgenden erläutert. Wenn Sie jedoch eine neue Leinwand erstellen müssen, müssen Sie eine Bitmap definieren, und das Zeichnen wird tatsächlich auf der Bitmap ausgeführt. Diese Bitmap ist für Canvas erforderlich. Sie können eine neue Leinwand wie folgt einrichten:

Bitmap b = Bitmap.createBitmap(100, 100, Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(b);
Jetzt wird Ihre Leinwand auf die definierte Bitmap gezeichnet. Nachdem Sie mit der Leinwand darauf gezeichnet haben, können Sie Ihre Bitmap mit einer davon auf eine andere Leinwand übertragen die

Canvas.drawBitmap(Bitmap,...)
Methoden.

Es wird empfohlen, dass Sie Ihre endgültigen Grafiken letztendlich über eine Leinwand zeichnen, die Ihnen von

View.onDraw()
oder

SurfaceHolder.lockCanvas()
angeboten wird (siehe

die folgenden Abschnitte).

Jetzt zeichnet Ihr Canvas Grafiken auf diese definierte Bitmap. Nachdem Sie auf der Bitmap gezeichnet haben, können Sie Ihre Bitmap über

Canvas.drawBitmap(Bitmap,...)方法其中的一种
auf eine andere Leinwand verschieben. Es wird empfohlen, zum Zeichnen Ihrer endgültigen Grafiken den Canvas zu verwenden, der Ihnen über die Methode View.onDraw() oder SurfaceHolder.lockCanvas() zur Verfügung gestellt wird.


Die

Canvas
Klasse verfügt über einen eigenen Satz

Zeichenmethoden, die Sie verwenden können, z. B.

drawBitmap(...)
,

drawRect(...)
,
drawText(...)

,

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


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn