語言

TextureView.LockCanvas 方法

定義

多載

名稱 Description
LockCanvas(Rect)

就像 #lockCanvas() 允許指定髒長方形一樣。

LockCanvas()

開始編輯表面上的像素。

LockCanvas(Rect)

就像 #lockCanvas() 允許指定髒長方形一樣。

[Android.Runtime.Register("lockCanvas", "(Landroid/graphics/Rect;)Landroid/graphics/Canvas;", "GetLockCanvas_Landroid_graphics_Rect_Handler")]
public virtual Android.Graphics.Canvas? LockCanvas(Android.Graphics.Rect? dirty);
[<Android.Runtime.Register("lockCanvas", "(Landroid/graphics/Rect;)Landroid/graphics/Canvas;", "GetLockCanvas_Landroid_graphics_Rect_Handler")>]
abstract member LockCanvas : Android.Graphics.Rect -> Android.Graphics.Canvas
override this.LockCanvas : Android.Graphics.Rect -> Android.Graphics.Canvas

參數

dirty
Rect

將被修改的表面面積。 若為零,則使用整個表面的面積。

傳回

用於繪圖的畫布,若無法鎖定表面則為 null(參見 #isAvailable())。

屬性

備註

就像 #lockCanvas() 允許指定髒長方形一樣。 該矩形內的每個像素都必須寫入;然而,髒矩形以外的像素會被下一個 lockCanvas() 呼叫保留。

若底層表面紋理不可用(參見 #isAvailable() 或表面貼圖已連接影像產生器(例如:相機、OpenGL、媒體播放器等),此方法可回傳 null

Java 文件 android.view.TextureView.lockCanvas(android.graphics.Rect)。

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

另請參閱

適用於

LockCanvas()

開始編輯表面上的像素。

[Android.Runtime.Register("lockCanvas", "()Landroid/graphics/Canvas;", "GetLockCanvasHandler")]
public virtual Android.Graphics.Canvas? LockCanvas();
[<Android.Runtime.Register("lockCanvas", "()Landroid/graphics/Canvas;", "GetLockCanvasHandler")>]
abstract member LockCanvas : unit -> Android.Graphics.Canvas
override this.LockCanvas : unit -> Android.Graphics.Canvas

傳回

用於繪圖的畫布,若無法鎖定表面則為 null(參見 #isAvailable())。

屬性

備註

開始編輯表面上的像素。 回來的 Canvas 可以用來繪製到曲面的點陣圖中。 若曲面尚未建立或無法編輯,則會回傳 null。 你通常需要自行確認 SurfaceTextureListener#onSurfaceTextureAvailable(android.graphics.SurfaceTexture, int, int) Surface 何時可用。

Surface 的內容在 unlockCanvas() 與 lockCanvas() 之間永遠不會被保留,因此 Surface 區域內的每個像素都必須被寫入。 唯一例外是指定髒矩形時,非髒像素會被保留。

此方法僅適用於底層表面尚未被其他生產者擁有時。 例如,如果用 TextureView 來渲染相機的預覽,你就無法呼叫這個方法。

Java 文件 android.view.TextureView.lockCanvas()。

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

另請參閱

適用於