語言

Canvas 類別

定義

Canvas 類別負責「draw」呼叫。

[Android.Runtime.Register("android/graphics/Canvas", DoNotGenerateAcw=true)]
public class Canvas : Java.Lang.Object
[<Android.Runtime.Register("android/graphics/Canvas", DoNotGenerateAcw=true)>]
type Canvas = class
    inherit Object
繼承
衍生
屬性

備註

Canvas 類別負責「draw」呼叫。 要繪製東西,你需要四個基本元件:一個用來存放像素的點陣圖、一個用來承載繪圖呼叫(寫入點陣圖的畫布)、一個繪圖基元(例如 Rect、Path、文字、位圖),以及一個 paint(用來描述繪圖的顏色和樣式)。

<div class=“特殊參考”><h3>開發者指南</h3>

想了解更多如何使用 Canvas,請閱讀 Canvas 與 Drawables 開發指南。

</div>

Java 文件 android.graphics.Canvas。

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

建構函式

名稱 Description
Canvas()

建構一個空的光柵畫布。

Canvas(Bitmap)

用指定的點陣圖建一個畫布來繪製。

Canvas(IGL)
已淘汰.

Canvas 類別負責「draw」呼叫。

Canvas(IntPtr, JniHandleOwnership)

用於建立 JNI 物件受管理表示的建構器;由執行時呼叫。

屬性

名稱 Description
Class

回傳此 Object的執行時類別。

(繼承來源 Object)
ClipBounds

取得目前剪輯的範圍(以當地座標計算)。

Density

回傳畫布的目標密度。 -或- 指定此畫布背板點陣圖的密度。

DrawFilter
GL

Canvas 類別負責「draw」呼叫。

Handle

底層 Android 實例的帳號。

(繼承來源 Object)
Height

回傳目前繪圖圖層的高度

IsHardwareAccelerated

顯示此 Canvas 是否使用硬體加速。

IsOpaque

如果當前層所繪製的裝置是不透明的(即不支援每像素 alpha),則回傳 true。

JniIdentityHashCode

取得由互通執行時指派給此 Java 對等端的身份雜湊碼。

(繼承來源 Object)
JniManagedPeerState

Canvas 類別負責「draw」呼叫。

(繼承來源 JavaObject)
JniPeerMembers

Canvas 類別負責「draw」呼叫。

Matrix
已淘汰.

回傳一個新的矩陣,並複製畫布的當前轉換矩陣。 -或- 完全替換為指定矩陣。

MaximumBitmapHeight

回傳使用此畫布繪製的點陣圖最大允許高度。

MaximumBitmapWidth

回傳使用此畫布繪製的位圖最大允許寬度。

PeerReference

取得這個 Java 節點的 JNI 物件參考。

(繼承來源 Object)
SaveCount

回傳 Canvas 私有堆疊上的矩陣/剪輯狀態數量。

ThresholdClass

此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。

ThresholdType

此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。

Width

回傳當前繪圖層的寬度

方法

名稱 Description
ClipOutPath(Path)

將剪輯設定為目前剪輯與指定路徑的差值。

ClipOutRect(Int32, Int32, Int32, Int32)

將剪輯設定為當前剪輯與指定矩形的差值,該矩形以當地座標表示。

ClipOutRect(Rect)

將剪輯設定為當前剪輯與指定矩形的差值,該矩形以當地座標表示。

ClipOutRect(RectF)

將剪輯設定為當前剪輯與指定矩形的差值,該矩形以當地座標表示。

ClipOutRect(Single, Single, Single, Single)

將剪輯設定為當前剪輯與指定矩形的差值,該矩形以當地座標表示。

ClipOutShader(Shader)

把剪輯設定成目前剪輯和著色器的差值。

ClipPath(Path, Region+Op)

將當前剪輯與指定的路徑相交。

ClipPath(Path)

將當前剪輯與指定的路徑相交。

ClipRect(Int32, Int32, Int32, Int32)

將當前剪輯與指定的矩形相交,該矩形以當地座標表示。

ClipRect(Rect, Region+Op)

將當前剪輯與指定的矩形相交,該矩形以當地座標表示。

ClipRect(Rect)

將當前剪輯與指定的矩形相交,該矩形以當地座標表示。

ClipRect(RectF, Region+Op)

將當前剪輯與指定的矩形相交,該矩形以當地座標表示。

ClipRect(RectF)

將當前剪輯與指定的矩形相交,該矩形以當地座標表示。

ClipRect(Single, Single, Single, Single, Region+Op)

將當前剪輯與指定的矩形相交,該矩形以當地座標表示。

ClipRect(Single, Single, Single, Single)

將當前剪輯與指定的矩形相交,該矩形以當地座標表示。

ClipRegion(Region, Region+Op)
已淘汰.

修改當前片段並指定區域。

ClipRegion(Region)
已淘汰.

將當前剪輯與指定區域相交。

ClipShader(Shader)

將目前的剪輯與指定的著色器相交。

Clone()

建立並回傳此物件的副本。

(繼承來源 Object)
Concat(Matrix)

先用指定的矩陣預合併當前矩陣。

Concat(Matrix44)

先用指定的矩陣預合併當前矩陣。

Construct(JniObjectReference, JniObjectReferenceOptions)

Canvas 類別負責「draw」呼叫。

(繼承來源 JavaObject)
DisableZ()

關閉 Z 支援,防止此點之後繪製的渲染節點被視覺上重新排序或陰影渲染。

Dispose()

釋放該 Java 節點所持有的資源。

(繼承來源 Object)
Dispose(Boolean)

釋放該 Java 節點所持有的資源。

(繼承來源 Object)
DisposeUnlessReferenced()

Canvas 類別負責「draw」呼叫。

(繼承來源 JavaObject)
DrawArc(RectF, Single, Single, Boolean, Paint)

畫出指定的弧線,弧線會被縮放以符合指定的橢圓範圍。

DrawArc(Single, Single, Single, Single, Single, Single, Boolean, Paint)

畫出指定的弧線,弧線會被縮放以符合指定的橢圓範圍。

DrawARGB(Int32, Int32, Int32, Int32)

使用srcover porterduff模式,將整個畫布的點陣圖(僅限當前片段)填滿指定的ARGB顏色。

DrawBitmap(Bitmap, Matrix, Paint)

使用指定的矩陣繪製位圖。

DrawBitmap(Bitmap, Rect, Rect, Paint)

繪製指定的點陣圖,並自動縮放/平移填滿目標矩形。

DrawBitmap(Bitmap, Rect, RectF, Paint)

繪製指定的點陣圖,並自動縮放/平移填滿目標矩形。

DrawBitmap(Bitmap, Single, Single, Paint)

繪製指定的位圖,其左上角位於 (x,y),使用指定的塗料,並由當前矩陣轉換。

DrawBitmap(Int32[], Int32, Int32, Int32, Int32, Int32, Int32, Boolean, Paint)
已淘汰.

drawBitmap(int[] colors, .

DrawBitmap(Int32[], Int32, Int32, Single, Single, Int32, Int32, Boolean, Paint)
已淘汰.

將指定的顏色陣列視為點陣圖,並繪製它。

DrawBitmapMesh(Bitmap, Int32, Int32, Single[], Int32, Int32[], Int32, Paint)

將位圖繪製穿過網格,網格頂點均勻分布於位圖上。

DrawCircle(Single, Single, Single, Paint)

用指定的顏料畫出指定的圓。

DrawColor(Color, BlendMode)

將整個畫布的點陣圖(僅限當前剪輯)填滿指定的顏色和混合模式。

DrawColor(Color, PorterDuff+Mode)

用 srcover porterduff 模式填滿整個畫布的點陣圖(僅限當前片段)。

DrawColor(Color)

用 srcover porterduff 模式填滿整個畫布的點陣圖(僅限當前片段)。

DrawColor(Int64, BlendMode)

將整個畫布的點陣圖(僅限當前剪輯)填滿指定的顏色和混合模式。

DrawColor(Int64)

用 srcover porterduff 模式填滿整個畫布的點陣圖(僅限當前片段)。

DrawDoubleRoundRect(RectF, Single, Single, RectF, Single, Single, Paint)

用指定的顏料畫出雙圓角長方形。

DrawDoubleRoundRect(RectF, Single[], RectF, Single[], Paint)

用指定的顏料畫出雙圓角長方形。

DrawGlyphs(Int32[], Int32, Single[], Int32, Int32, Font, Paint)

用指定的字型繪製字形陣列。

DrawLine(Single, Single, Single, Single, Paint)

用指定的塗料,繪製一條線段,座標為指定的起點和停止 x,y 座標。

DrawLines(Single[], Int32, Int32, Paint)

畫出一系列線。

DrawLines(Single[], Paint)

畫出一系列線。

DrawMesh(Mesh, BlendMode, Paint)

將網格物件繪製到螢幕上。

DrawOval(RectF, Paint)

用指定的顏料畫出指定的橢圓形。

DrawOval(Single, Single, Single, Single, Paint)

用指定的顏料畫出指定的橢圓形。

DrawPaint(Paint)

用指定的顏料填滿整個畫布的點陣圖(僅限於當前片段)。

DrawPatch(NinePatch, Rect, Paint)

將指定的位圖繪製為 N 補丁(最常見的是 9 補丁)。

DrawPatch(NinePatch, RectF, Paint)

將指定的位圖繪製為 N 補丁(最常見的是 9 補丁)。

DrawPath(Path, Paint)

用指定的顏料畫出指定的路徑。

DrawPicture(Picture, Rect)

畫出一張圖,拉伸成適合 dst 矩形的畫面。

DrawPicture(Picture, RectF)

畫出一張圖,拉伸成適合 dst 矩形的畫面。

DrawPicture(Picture)

儲存畫布狀態,畫圖,然後還原畫布狀態。

DrawPoint(Single, Single, Paint)

drawPoints() 的輔助工具,用於繪製單一點。

DrawPoints(Single[], Int32, Int32, Paint)

抽取一連串點數。

DrawPoints(Single[], Paint)

drawPoints() 的輔助工具,假設你想繪製整個陣列

DrawPosText(Char[], Int32, Int32, Single[], Paint)
已淘汰.

在陣列中繪製文字,每個字元的起點由 pos 陣列指定。

DrawPosText(String, Single[], Paint)
已淘汰.

在陣列中繪製文字,每個字元的起點由 pos 陣列指定。

DrawRect(Rect, Paint)

用指定的顏料畫出指定的 Rect。

DrawRect(RectF, Paint)

用指定的顏料畫出指定的 Rect。

DrawRect(Single, Single, Single, Single, Paint)

用指定的顏料畫出指定的 Rect。

DrawRegion(Region, Paint)

用給定的顏料畫出給定的區域。

DrawRenderNode(RenderNode)

繪製給定的渲染節點。

DrawRGB(Int32, Int32, Int32)

用 srcover porterduff 模式填滿整個畫布的點陣圖(僅限當前片段)。

DrawRoundRect(RectF, Single, Single, Paint)

用指定的顏料畫出指定的圓形長方形。

DrawRoundRect(Single, Single, Single, Single, Single, Single, Paint)

用指定的顏料畫出指定的圓形長方形。

DrawText(Char[], Int32, Int32, Single, Single, Paint)

用指定的顏料繪製原點為 (x,y) 的文字。

DrawText(ICharSequence, Int32, Int32, Single, Single, Paint)

在指定的 Paint 中繪製指定的文字範圍,以開始/結束為起點,起點為 (x,y)。

DrawText(String, Int32, Int32, Single, Single, Paint)

用指定的顏料繪製原點為 (x,y) 的文字。

DrawText(String, Single, Single, Paint)

用指定的顏料繪製原點為 (x,y) 的文字。

DrawTextOnPath(Char[], Int32, Int32, Path, Single, Single, Paint)

使用指定的塗料繪製原點為 (x,y) 的文字,沿著指定的路徑繪製。

DrawTextOnPath(String, Path, Single, Single, Paint)

使用指定的塗料繪製原點為 (x,y) 的文字,沿著指定的路徑繪製。

DrawTextRun(Char[], Int32, Int32, Int32, Int32, Single, Single, Boolean, Paint)

畫出一連串文字,全部朝單一方向,並可選擇為複雜文字形狀提供上下文。

DrawTextRun(ICharSequence, Int32, Int32, Int32, Int32, Single, Single, Boolean, Paint)

畫出一連串文字,全部朝單一方向,並可選擇為複雜文字形狀提供上下文。

DrawTextRun(MeasuredText, Int32, Int32, Int32, Int32, Single, Single, Boolean, Paint)

畫出一連串文字,全部朝單一方向,並可選擇為複雜文字形狀提供上下文。

DrawTextRun(String, Int32, Int32, Int32, Int32, Single, Single, Boolean, Paint)

畫出一連串文字,全部朝單一方向,並可選擇為複雜文字形狀提供上下文。

DrawVertices(Canvas+VertexMode, Int32, Single[], Int32, Single[], Int32, Int32[], Int32, Int16[], Int32, Int32, Paint)

繪製頂點陣列,將其解釋為三角形(基於模式)。

EnableZ()

啟用 Z 支援,但預設為停用。

Equals(Object)

Canvas 類別負責「draw」呼叫。

(繼承來源 JavaObject)
Equals(Object)

表示是否有其他物體「等同」於此物。

(繼承來源 Object)
FreeGlCaches()

Canvas 類別負責「draw」呼叫。

GetClipBounds(Rect)

在界限參數中回傳當前剪輯的界限(以局部座標),若非空則回傳真。

GetHashCode()

回傳物件的雜湊碼值。

(繼承來源 Object)
GetMatrix(Matrix)
已淘汰.

回傳 ctm 的電流轉換矩陣。

JavaFinalize()
已淘汰.

當垃圾回收判定該物件不再有相關參考時,由垃圾回收器呼叫。

(繼承來源 Object)
Notify()

喚醒一個正在該物件監視器上等待的執行緒。

(繼承來源 Object)
NotifyAll()

喚醒所有等待該物件監視器的執行緒。

(繼承來源 Object)
QuickReject(Path, Canvas+EdgeType)

若指定的矩形經過當前矩陣變換後,完全位於當前剪輯之外,則回傳為真。

QuickReject(Path)

若指定的路徑經過當前矩陣轉換後,完全位於當前剪輯之外,則回傳為真。

QuickReject(RectF, Canvas+EdgeType)

若指定的矩形經過當前矩陣變換後,完全位於當前剪輯之外,則回傳為真。

QuickReject(RectF)

若指定的矩形經過當前矩陣變換後,完全位於當前剪輯之外,則回傳為真。

QuickReject(Single, Single, Single, Single, Canvas+EdgeType)

若指定的矩形經過當前矩陣變換後,完全位於當前剪輯之外,則回傳為真。

QuickReject(Single, Single, Single, Single)

若指定的矩形經過當前矩陣變換後,完全位於當前剪輯之外,則回傳為真。

Restore()

此呼叫平衡先前對 save() 的呼叫,並用來移除自上次儲存呼叫以來對矩陣/剪輯狀態的所有修改。

RestoreToCount(Int32)

有效率地跳出在存檔數達到 saveCount 後呼叫 save() 的。

Rotate(Single, Single, Single)

預接現有矩陣與指定的旋轉。

Rotate(Single)

預接現有矩陣與指定的旋轉。

Save()

將目前的矩陣和 clip 儲存到私人堆疊上。

Save(SaveFlags)

根據 saveFlags,可以儲存目前的矩陣並夾到私有堆疊。

SaveLayer(RectF, Paint, SaveFlags)

這和 save() 的行為一樣,但它還會分配並重新導向繪圖到螢幕外的點陣圖。

SaveLayer(RectF, Paint)

這和 save() 的行為相同,但它還會將繪圖分配並重新導向到螢幕外的渲染目標。

SaveLayer(Single, Single, Single, Single, Paint, SaveFlags)

saveLayer() 的輔助版本,取四個值而非 RectF。

SaveLayer(Single, Single, Single, Single, Paint)

方便地 #saveLayer(RectF, Paint) 說,這會取出界矩形的四個浮點座標。

SaveLayerAlpha(RectF, Int32, SaveFlags)

這和 save() 的行為一樣,但它還會分配並重新導向繪圖到螢幕外的點陣圖。

SaveLayerAlpha(RectF, Int32)

方便#saveLayer(RectF, Paint),但它不是拿整個 Paint 物件,而是只拿參數。alpha

SaveLayerAlpha(Single, Single, Single, Single, Int32, SaveFlags)

saveLayerAlpha() 的輔助工具,能接受 4 個值,而不是 RectF。

SaveLayerAlpha(Single, Single, Single, Single, Int32)

方便地 #saveLayerAlpha(RectF, int) 說,這會取出界矩形的四個浮點座標。

Scale(Single, Single, Single, Single)

先用指定比例預接當前矩陣。

Scale(Single, Single)

先用指定比例預接當前矩陣。

SetBitmap(Bitmap)

指定一個畫布要畫的點陣圖。

SetHandle(IntPtr, JniHandleOwnership)

設定 Handle 屬性。

(繼承來源 Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Canvas 類別負責「draw」呼叫。

(繼承來源 JavaObject)
SetViewport(Int32, Int32)

Canvas 類別負責「draw」呼叫。

Skew(Single, Single)

對當前矩陣進行預整合,且偏斜度為指定。

ToArray<T>()

從這個 Java 陣列包裝器建立一個受管理陣列。

(繼承來源 Object)
ToString()

回傳物件的字串表示。

(繼承來源 Object)
Translate(Single, Single)

對當前矩陣進行預轉換,並以指定的平移

UnregisterFromRuntime()

將此 Java 節點從互通執行時中取消註冊。

(繼承來源 Object)
Wait()

導致目前執行緒等待被喚醒,通常是透過 <em>通知</><em 或 em>中斷</em> 來喚醒。

(繼承來源 Object)
Wait(Int64, Int32)

會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。

(繼承來源 Object)
Wait(Int64)

會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。

(繼承來源 Object)

明確介面實作

名稱 Description
IJavaPeerable.Disposed()

Canvas 類別負責「draw」呼叫。

(繼承來源 JavaObject)
IJavaPeerable.Finalized()

Canvas 類別負責「draw」呼叫。

(繼承來源 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Canvas 類別負責「draw」呼叫。

(繼承來源 JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Canvas 類別負責「draw」呼叫。

(繼承來源 JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Canvas 類別負責「draw」呼叫。

(繼承來源 JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Canvas 類別負責「draw」呼叫。

(繼承來源 JavaObject)

擴充方法

名稱 Description
GetJniTypeName(IJavaPeerable)

取得實例 self類型的 JNI 名稱。

JavaAs<TResult>(IJavaPeerable)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

JavaCast<TResult>(IJavaObject)

執行 Android 執行時檢查型別轉換。

JavaCast<TResult>(IJavaObject)

Canvas 類別負責「draw」呼叫。

TryJavaCast<TResult>(IJavaPeerable, TResult)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

適用於