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
派生
属性

注解

Canvas 类保存“draw”调用。 若要绘制内容,需要 4 个基本组件:用于保存像素的位图、用于承载绘图调用的画布(写入位图)、绘图基元(例如 Rect、Path、text、Bitmap)和绘图(用于描述绘图的颜色和样式)。

<div class=“special reference”><h3>Developer Guides</h3>

有关如何使用 Canvas 的详细信息,请阅读 Canvas 和 Drawables 开发人员指南。

</Div>

适用于 . 的 android.graphics.CanvasJava 文档

本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。

构造函数

Canvas()

构造空光栅画布。

Canvas(Bitmap)

使用要绘制到的指定位图构造画布。

Canvas(IGL)
已过时.

Canvas 类保存“draw”调用。

Canvas(IntPtr, JniHandleOwnership)

创建 JNI 对象的托管表示形式时使用的构造函数;由运行时调用。

属性

Class

返回此 Object的运行时类。

(继承自 Object)
ClipBounds

检索当前剪辑的边界(以本地坐标为单位)。

Density

返回画布的目标密度。 - 或 - 指定此画布后盾位图的密度。

DrawFilter

Canvas 类保存“draw”调用。

GL

Canvas 类保存“draw”调用。

Handle

基础 Android 实例的句柄。

(继承自 Object)
Height

返回当前绘图层的高度

IsHardwareAccelerated

指示此 Canvas 是否使用硬件加速。

IsOpaque

如果当前层绘制到的设备不透明(即,它不支持每像素 alpha),则返回 true。

JniIdentityHashCode

Canvas 类保存“draw”调用。

(继承自 Object)
JniPeerMembers

Canvas 类保存“draw”调用。

Matrix
已过时.

返回包含画布当前转换矩阵副本的新矩阵。 - 或 - 将当前矩阵完全替换为指定的矩阵。

MaximumBitmapHeight

返回使用此画布绘制的位图的最大允许高度。

MaximumBitmapWidth

返回使用此画布绘制的位图允许的最大宽度。

PeerReference

Canvas 类保存“draw”调用。

(继承自 Object)
SaveCount

返回 Canvas 专用堆栈上的矩阵/剪辑状态数。

ThresholdClass

此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。

ThresholdType

此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。

Width

返回当前绘图层的宽度

方法

ClipOutPath(Path)

将剪辑设置为当前剪辑和指定路径的差异。

ClipOutRect(Int32, Int32, Int32, Int32)

将剪辑设置为当前剪辑和指定矩形的区别,该矩形以本地坐标表示。

ClipOutRect(Rect)

将剪辑设置为当前剪辑和指定矩形的区别,该矩形以本地坐标表示。

ClipOutRect(RectF)

将剪辑设置为当前剪辑和指定矩形的区别,该矩形以本地坐标表示。

ClipOutRect(Single, Single, Single, Single)

将剪辑设置为当前剪辑和指定矩形的区别,该矩形以本地坐标表示。

ClipPath(Path)

将当前剪辑与指定的路径相交。

ClipPath(Path, Region+Op)

将当前剪辑与指定的路径相交。

ClipRect(Int32, Int32, Int32, Int32)

将当前剪辑与指定矩形相交,以本地坐标表示。

ClipRect(Rect)

将当前剪辑与指定矩形相交,以本地坐标表示。

ClipRect(Rect, Region+Op)

将当前剪辑与指定矩形相交,以本地坐标表示。

ClipRect(RectF)

将当前剪辑与指定矩形相交,以本地坐标表示。

ClipRect(RectF, Region+Op)

将当前剪辑与指定矩形相交,以本地坐标表示。

ClipRect(Single, Single, Single, Single)

将当前剪辑与指定矩形相交,以本地坐标表示。

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

将当前剪辑与指定矩形相交,以本地坐标表示。

ClipRegion(Region)
已过时.

将当前剪辑与指定区域相交。

ClipRegion(Region, Region+Op)
已过时.

使用指定区域修改当前剪辑。

Clone()

创建并返回此对象的副本。

(继承自 Object)
Concat(Matrix)

使用指定的矩阵预制当前矩阵。

DisableZ()

禁用 Z 支持,防止在此点之后绘制的任何 RenderNode 在视觉上重新排序或呈现阴影。

Dispose()

Canvas 类保存“draw”调用。

(继承自 Object)
Dispose(Boolean)

Canvas 类保存“draw”调用。

(继承自 Object)
DrawArc(RectF, Single, Single, Boolean, Paint)

绘制指定的弧线,该弧线将被缩放以适应指定的椭圆内。

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

绘制指定的弧线,该弧线将被缩放以适应指定的椭圆内。

DrawARGB(Int32, Int32, Int32, Int32)

使用指定的 ARGB 颜色填充整个画布的位图(仅限于当前剪辑),并使用 srcover porterduff 模式。

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[] 颜色, .

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)

使用 srcover porterduff 模式填充整个画布的位图(仅限于当前剪辑)。

DrawColor(Color, BlendMode)

使用指定的颜色和 blendmode 填充整个画布的位图(仅限于当前剪辑)。

DrawColor(Color, PorterDuff+Mode)

使用 srcover porterduff 模式填充整个画布的位图(仅限于当前剪辑)。

DrawColor(Int64)

使用 srcover porterduff 模式填充整个画布的位图(仅限于当前剪辑)。

DrawColor(Int64, BlendMode)

使用指定的颜色和 blendmode 填充整个画布的位图(仅限于当前剪辑)。

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)

Canvas 类保存“draw”调用。

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)

保存画布状态、绘制图片和还原画布状态。

DrawPicture(Picture, Rect)

绘制图片,拉伸以适应最前的矩形。

DrawPicture(Picture, RectF)

绘制图片,拉伸以适应最前的矩形。

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。

DrawRenderNode(RenderNode)

绘制给定的 RenderNode。

DrawRGB(Int32, Int32, Int32)

使用 srcover porterduff 模式,使用指定的 RGB 颜色填充整个画布的位图(仅限于当前剪辑)。

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)

在指定的画图中绘制由开始/结尾指定的指定文本范围,其原点为 (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)

指示其他对象是否“等于”此对象。

(继承自 Object)
FreeGlCaches()

Canvas 类保存“draw”调用。

GetClipBounds(Rect)

返回边界参数中当前剪辑(以本地坐标为单位)的边界,如果当前剪辑为非空,则返回 true。

GetHashCode()

返回对象的哈希代码值。

(继承自 Object)
GetMatrix(Matrix)
已过时.

返回当前转换矩阵(以 ctm 为单位)。

JavaFinalize()

当垃圾回收确定不再引用该对象时,由对象上的垃圾回收器调用。

(继承自 Object)
Notify()

唤醒正在等待此对象的监视器的单个线程。

(继承自 Object)
NotifyAll()

唤醒正在等待此对象的监视器的所有线程。

(继承自 Object)
QuickReject(Path)

如果由当前矩阵转换后指定的路径完全位于当前剪辑之外,则返回 true。

QuickReject(Path, Canvas+EdgeType)

如果由当前矩阵转换后的指定矩形完全位于当前剪辑之外,则返回 true。

QuickReject(RectF)

如果由当前矩阵转换后的指定矩形完全位于当前剪辑之外,则返回 true。

QuickReject(RectF, Canvas+EdgeType)

如果由当前矩阵转换后的指定矩形完全位于当前剪辑之外,则返回 true。

QuickReject(Single, Single, Single, Single)

如果由当前矩阵转换后的指定矩形完全位于当前剪辑之外,则返回 true。

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

如果由当前矩阵转换后的指定矩形完全位于当前剪辑之外,则返回 true。

Restore()

此调用平衡以前的保存调用(),用于删除自上次保存调用以来矩阵/剪辑状态的所有修改。

RestoreToCount(Int32)

弹出保存计数达到 saveCount 后发生的任何保存()调用的有效方法。

Rotate(Single)

预制具有指定旋转的当前矩阵。

Rotate(Single, Single, Single)

预制具有指定旋转的当前矩阵。

Save()

将当前矩阵和剪辑保存到专用堆栈上。

Save(SaveFlags)

根据 saveFlags,可以将当前矩阵和剪辑保存到专用堆栈。

SaveLayer(RectF, Paint)

这与 save()的行为相同,但此外,它还分配绘图并将其重定向到屏幕外呈现目标。

SaveLayer(RectF, Paint, SaveFlags)

这与 save()的行为相同,但此外,它还分配绘图并将其重定向到屏幕外位图。

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

方便使用 #saveLayer(RectF, Paint) 边界矩形的四个浮点坐标。

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

SaveLayer()的帮助程序版本,它采用 4 个值而不是 RectF。

SaveLayerAlpha(RectF, Int32)

为方便起见 #saveLayer(RectF, Paint) ,而不是获取整个 Paint 对象,它只需要参数 alpha

SaveLayerAlpha(RectF, Int32, SaveFlags)

这与 save()的行为相同,但此外,它还分配绘图并将其重定向到屏幕外位图。

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

方便使用 #saveLayerAlpha(RectF, int) 边界矩形的四个浮点坐标。

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

saveLayerAlpha() 的帮助程序,它采用 4 个值而不是 RectF。

Scale(Single, Single)

使用指定的刻度预制当前矩阵。

Scale(Single, Single, Single, Single)

使用指定的刻度预制当前矩阵。

SetBitmap(Bitmap)

指定要绘制的画布的位图。

SetHandle(IntPtr, JniHandleOwnership)

设置 Handle 属性。

(继承自 Object)
SetViewport(Int32, Int32)

Canvas 类保存“draw”调用。

Skew(Single, Single)

使用指定的倾斜预先连接当前矩阵。

ToArray<T>()

Canvas 类保存“draw”调用。

(继承自 Object)
ToString()

返回对象的字符串表示形式。

(继承自 Object)
Translate(Single, Single)

使用指定的转换预连接当前矩阵

UnregisterFromRuntime()

Canvas 类保存“draw”调用。

(继承自 Object)
Wait()

使当前线程等待,直到唤醒它,通常是通过 em 通知/em> 或 <em>interrupted</em>。<><

(继承自 Object)
Wait(Int64)

使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted</em>>,或直到经过一定数量的实时。

(继承自 Object)
Wait(Int64, Int32)

使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted</em>>,或直到经过一定数量的实时。

(继承自 Object)

显式接口实现

IJavaPeerable.Disposed()

Canvas 类保存“draw”调用。

(继承自 Object)
IJavaPeerable.DisposeUnlessReferenced()

Canvas 类保存“draw”调用。

(继承自 Object)
IJavaPeerable.Finalized()

Canvas 类保存“draw”调用。

(继承自 Object)
IJavaPeerable.JniManagedPeerState

Canvas 类保存“draw”调用。

(继承自 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Canvas 类保存“draw”调用。

(继承自 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Canvas 类保存“draw”调用。

(继承自 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Canvas 类保存“draw”调用。

(继承自 Object)

扩展方法

JavaCast<TResult>(IJavaObject)

执行 Android 运行时检查的类型转换。

JavaCast<TResult>(IJavaObject)

Canvas 类保存“draw”调用。

GetJniTypeName(IJavaPeerable)

Canvas 类保存“draw”调用。

适用于