Heim > Artikel > Web-Frontend > Canvas- und Drawables-Übersetzung, Folge 2
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,
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
CanvasKlasse 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
Drawableobjects
draw()method
这个Canvas类有它自己的一系列绘制方法,并且你可以使用,像drawBitmap(...),drawRect(),drawText()等等。你可能用到的其他含有draw()方法的类,例如:你有一些Drawable对象,并且你想绘制到Canvas上。Drawable有它自己的draw()方法,它把Canvas作为参数传进去,将自己绘制到Canvas上。
以上就是Canvas and Drawables 翻译第二集的内容,更多相关内容请关注PHP中文网(www.php.cn)!