Sprache

ISurfaceHolder.LockCanvas Methode

Definition

Überlädt

Name Beschreibung
LockCanvas()

Beginnen Sie mit der Bearbeitung der Pixel auf der Oberfläche.

LockCanvas(Rect)

Genau wie #lockCanvas() dies aber die Angabe eines schmutzigen Rechtecks zulässt.

LockCanvas()

Beginnen Sie mit der Bearbeitung der Pixel auf der Oberfläche.

[Android.Runtime.Register("lockCanvas", "()Landroid/graphics/Canvas;", "GetLockCanvasHandler:Android.Views.ISurfaceHolderInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")]
public Android.Graphics.Canvas? LockCanvas();
[<Android.Runtime.Register("lockCanvas", "()Landroid/graphics/Canvas;", "GetLockCanvasHandler:Android.Views.ISurfaceHolderInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")>]
abstract member LockCanvas : unit -> Android.Graphics.Canvas

Gibt zurück

Canvas Wird verwendet, um in die Oberfläche zu zeichnen.

Attribute

Hinweise

Beginnen Sie mit der Bearbeitung der Pixel auf der Oberfläche. Die zurückgegebene Canvas kann verwendet werden, um in die Bitmap der Oberfläche zu zeichnen. Es wird ein Nullwert zurückgegeben, wenn die Oberfläche nicht erstellt wurde oder anderweitig nicht bearbeitet werden kann. In der Regel müssen Sie implementierenCallback#surfaceCreated Callback.surfaceCreated, um herauszufinden, wann die Surface zur Verwendung verfügbar ist.

Der Inhalt der Surface wird niemals zwischen unlockCanvas() und lockCanvas() beibehalten, aus diesem Grund muss jedes Pixel innerhalb des Surface Bereichs geschrieben werden. Die einzige Ausnahme dieser Regel ist, wenn ein geändertes Rechteck angegeben wird, in diesem Fall werden nicht geänderte Pixel beibehalten.

Wenn Sie dies wiederholt aufrufen, wenn die Surface nicht bereit (vor Callback#surfaceCreated Callback.surfaceCreated oder nachCallback#surfaceDestroyed Callback.surfaceDestroyed) ist, werden Ihre Anrufe auf eine langsame Rate gedrosselt, um den Cpu-Verbrauch zu vermeiden.

Wenn null nicht zurückgegeben wird, hält diese Funktion intern eine Sperre, bis der entsprechende #unlockCanvasAndPost Aufruf erfolgt, wodurch verhindert SurfaceView wird, dass die Oberfläche erstellt, zerstört oder geändert wird, während sie gezeichnet wird. Dies kann bequemer sein, als direkt auf die Surface zuzugreifen, da Sie keine spezielle Synchronisierung mit einem Zeichnungsthread ausführen Callback#surfaceDestroyed Callback.surfaceDestroyedmüssen.

Java Dokumentation für android.view.SurfaceHolder.lockCanvas().

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für:

LockCanvas(Rect)

Genau wie #lockCanvas() dies aber die Angabe eines schmutzigen Rechtecks zulässt.

[Android.Runtime.Register("lockCanvas", "(Landroid/graphics/Rect;)Landroid/graphics/Canvas;", "GetLockCanvas_Landroid_graphics_Rect_Handler:Android.Views.ISurfaceHolderInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")]
public Android.Graphics.Canvas? LockCanvas(Android.Graphics.Rect? dirty);
[<Android.Runtime.Register("lockCanvas", "(Landroid/graphics/Rect;)Landroid/graphics/Canvas;", "GetLockCanvas_Landroid_graphics_Rect_Handler:Android.Views.ISurfaceHolderInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")>]
abstract member LockCanvas : Android.Graphics.Rect -> Android.Graphics.Canvas

Parameter

dirty
Rect

Bereich des Surface, der geändert wird.

Gibt zurück

Canvas Wird verwendet, um in die Oberfläche zu zeichnen.

Attribute

Hinweise

Genau wie #lockCanvas() dies aber die Angabe eines schmutzigen Rechtecks zulässt. Jedes Pixel innerhalb dieses Rechtecks muss geschrieben werden; Pixel außerhalb des schmutzigen Rechtecks werden jedoch durch den nächsten Aufruf von lockCanvas() beibehalten.

Java Dokumentation für android.view.SurfaceHolder.lockCanvas(android.graphics.Rect).

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Siehe auch

Gilt für: