Interface ICanvasRenderingContext2D
Namespace: Aspose.Html.Dom.Canvas
Assembly: Aspose.HTML.dll (25.1.0)
ICanvasRenderingContext2D 接口用于在画布元素上绘制矩形、文本、图像和其他对象。它为画布元素的绘图表面提供了 2D 渲染上下文。
[ComVisible(true)]
[DOMNoInterfaceObject]
[DOMObject]
public interface ICanvasRenderingContext2D : ICanvasDrawingStyles, ICanvasPathMethods
实现
ICanvasDrawingStyles, ICanvasPathMethods
属性
Canvas
对 HTMLCanvasElement 的只读反向引用。如果未与画布元素关联,则可能为 null。
[DOMName("canvas")]
HTMLCanvasElement Canvas { get; }
属性值
FillStyle
用于形状内部的颜色或样式。默认值:(黑色)。
[DOMName("fillStyle")]
object FillStyle { get; set; }
属性值
GlobalAlpha
应用于形状和图像的 alpha 值,在将它们合成到画布上之前。默认值 1.0(不透明)。
[DOMName("globalAlpha")]
double GlobalAlpha { get; set; }
属性值
GlobalCompositeOperation
应用 globalAlpha 后,设置形状和图像如何绘制到现有位图上。默认值:(source-over)
[DOMName("globalCompositeOperation")]
string GlobalCompositeOperation { get; set; }
属性值
ImageSmoothingEnabled
图像平滑模式;如果禁用,则图像在缩放时不会平滑。
[DOMName("imageSmoothingEnabled")]
bool ImageSmoothingEnabled { get; set; }
属性值
ShadowBlur
指定模糊效果。默认值 0
[DOMName("shadowBlur")]
double ShadowBlur { get; set; }
属性值
ShadowColor
阴影的颜色。默认值完全透明的黑色。
[DOMName("shadowColor")]
string ShadowColor { get; set; }
属性值
ShadowOffsetX
阴影的水平偏移距离。默认值 0。
[DOMName("shadowOffsetX")]
double ShadowOffsetX { get; set; }
属性值
ShadowOffsetY
阴影的垂直偏移距离。默认值 0。
[DOMName("shadowOffsetY")]
double ShadowOffsetY { get; set; }
属性值
StrokeStyle
用于形状周围线条的颜色或样式。默认值:(黑色)。
[DOMName("strokeStyle")]
object StrokeStyle { get; set; }
属性值
方法
AddHitRegion(Dictionary<string, string="">)
向画布添加命中区域。 这使得命中检测变得更容易,允许你将事件路由到 DOM 元素,并使用户能够在不查看画布的情况下探索它。
void AddHitRegion(Dictionary<string, string=""> options)
参数
options
Dictionary<string, string>
options 参数是可选的。当提供时,它是一个可以包含属性的对象。
BeginPath()
通过清空子路径列表开始一个新路径。当你想要创建一个新路径时调用此方法。
[DOMName("beginPath")]
void BeginPath()
ClearHitRegions()
从画布中移除所有命中区域。
[DOMName("clearHitRegions")]
void ClearHitRegions()
ClearRect(double, double, double, double)
将由起始点 (x, y) 和大小 (width, height) 定义的矩形中的所有像素设置为透明黑色,擦除任何先前绘制的内容。
[DOMName("clearRect")]
void ClearRect(double x, double y, double w, double h)
参数
x
double
矩形起始点的 x 轴坐标。
y
double
矩形起始点的 y 轴坐标。
w
double
矩形的宽度。
h
double
矩形的高度。
Clip()
通过计算当前剪切区域和路径描述的区域的交集来创建新的剪切区域,使用非零环绕数规则。 在计算剪切区域时,开放子路径必须隐式闭合,而不影响实际子路径。 新的剪切区域替换当前的剪切区域。
[DOMName("clip")]
void Clip()
Clip(CanvasFillRule)
通过计算当前剪切区域和路径描述的区域的交集来创建新的剪切区域,使用非零环绕数规则。 开放子路径必须隐式闭合,而不影响实际子路径。 新的剪切区域替换当前的剪切区域。
[DOMName("clip")]
void Clip(CanvasFillRule fillRule)
参数
fillRule
CanvasFillRule
确定点是否在路径内部或外部的算法。
Clip(Path2D, CanvasFillRule)
通过计算当前剪切区域和路径描述的区域的交集来创建新的剪切区域,使用非零环绕数规则。 开放子路径必须隐式闭合,而不影响实际子路径。 新的剪切区域替换当前的剪切区域。
[DOMName("clip")]
void Clip(Path2D path, CanvasFillRule fillRule)
参数
path
Path2D
要剪切的 Path2D 路径。
fillRule
CanvasFillRule
确定点是否在路径内部或外部的算法。
CreateImageData(double, double)
创建一个新的空白 ImageData 对象,具有指定的尺寸。 新对象中的所有像素都是透明黑色。
[DOMName("createImageData")]
IImageData CreateImageData(double sw, double sh)
参数
sw
double
要给新 ImageData 对象的宽度。
sh
double
要给新 ImageData 对象的高度。
返回值
具有指定宽度和高度的新 ImageData 对象。新对象填充透明黑色像素。
CreateImageData(IImageData)
创建一个新的空白 ImageData 对象,具有指定的尺寸。 新对象中的所有像素都是透明黑色。
[DOMName("createImageData")]
IImageData CreateImageData(IImageData imagedata)
参数
imagedata
IImageData
要从中复制宽度和高度的现有 ImageData 对象。图像本身不会被复制。
返回值
具有指定宽度和高度的新 ImageData 对象。新对象填充透明黑色像素。
CreateLinearGradient(double, double, double, double)
沿由参数表示的坐标给出的线创建线性渐变。
[DOMName("createLinearGradient")]
ICanvasGradient CreateLinearGradient(double x0, double y0, double x1, double y1)
参数
x0
double
起始点的坐标的 x 轴。
y0
double
起始点的坐标的 y 轴。
x1
double
结束点的坐标的 x 轴。
y1
double
结束点的坐标的 y 轴。
返回值
线性 CanvasGradient。
CreatePattern(HTMLImageElement, string)
使用指定的图像(CanvasImageSource)创建模式。 它在由重复参数指定的方向上重复源。
[DOMName("createPattern")]
ICanvasPattern CreatePattern(HTMLImageElement image, string repetition)
参数
image
HTMLImageElement
用作重复图像的 HTMLImageElement。
repetition
string
指示如何重复图像的字符串。
返回值
描述模式的不透明对象。
CreatePattern(HTMLCanvasElement, string)
使用指定的图像(CanvasImageSource)创建模式。 它在由重复参数指定的方向上重复源。
[DOMName("createPattern")]
ICanvasPattern CreatePattern(HTMLCanvasElement image, string repetition)
参数
image
HTMLCanvasElement
用作重复图像的 HTMLCanvasElement。
repetition
string
指示如何重复图像的字符串。
返回值
描述模式的不透明对象。
CreateRadialGradient(double, double, double, double, double, double)
根据由参数表示的两个圆的坐标创建径向渐变。
[DOMName("createRadialGradient")]
ICanvasGradient CreateRadialGradient(double x0, double y0, double r0, double x1, double y1, double r1)
参数
x0
double
起始圆的坐标的 x 轴。
y0
double
起始圆的坐标的 y 轴。
r0
double
起始圆的半径。
x1
double
结束圆的坐标的 x 轴。
y1
double
结束圆的坐标的 y 轴。
r1
double
结束圆的半径。
返回值
以两个指定圆初始化的径向 CanvasGradient。
DrawFocusIfNeeded(Element)
如果给定元素获得焦点,则此方法在当前路径周围绘制焦点环。
[DOMName("drawFocusIfNeeded")]
void DrawFocusIfNeeded(Element element)
参数
element
Element
要检查其是否获得焦点的元素。
DrawImage(HTMLImageElement, double, double)
绘制指定的图像。
[DOMName("drawImage")]
void DrawImage(HTMLImageElement image, double dx, double dy)
参数
image
HTMLImageElement
要绘制到上下文中的 HTMLImageElement。
dx
double
要在目标画布中放置源图像左上角的 X 坐标。
dy
double
要在目标画布中放置源图像左上角的 Y 坐标。
DrawImage(HTMLCanvasElement, double, double)
绘制指定的图像。
[DOMName("drawImage")]
void DrawImage(HTMLCanvasElement image, double dx, double dy)
参数
image
HTMLCanvasElement
要绘制到上下文中的 HTMLCanvasElement。
dx
double
要在目标画布中放置源图像左上角的 X 坐标。
dy
double
要在目标画布中放置源图像左上角的 Y 坐标。
DrawImage(HTMLImageElement, double, double, double, double)
绘制指定的图像。
[DOMName("drawImage")]
void DrawImage(HTMLImageElement image, double dx, double dy, double dw, double dh)
参数
image
HTMLImageElement
要绘制到上下文中的 HTMLImageElement。
dx
double
要在目标画布中放置源图像左上角的 X 坐标。
dy
double
要在目标画布中放置源图像左上角的 Y 坐标。
dw
double
在目标画布中绘制图像的宽度。这允许对绘制的图像进行缩放。如果未指定,则绘制时图像的宽度不会缩放。
dh
double
在目标画布中绘制图像的高度。这允许对绘制的图像进行缩放。如果未指定,则绘制时图像的高度不会缩放。
DrawImage(HTMLCanvasElement, double, double, double, double)
绘制指定的图像。
[DOMName("drawImage")]
void DrawImage(HTMLCanvasElement image, double dx, double dy, double dw, double dh)
参数
image
HTMLCanvasElement
要绘制到上下文中的 HTMLCanvasElement。
dx
double
要在目标画布中放置源图像左上角的 X 坐标。
dy
double
要在目标画布中放置源图像左上角的 Y 坐标。
dw
double
在目标画布中绘制图像的宽度。这允许对绘制的图像进行缩放。如果未指定,则绘制时图像的宽度不会缩放。
dh
double
在目标画布中绘制图像的高度。这允许对绘制的图像进行缩放。如果未指定,则绘制时图像的高度不会缩放。
DrawImage(HTMLImageElement, double, double, double, double, double, double, double, double)
绘制指定的图像。
[DOMName("drawImage")]
void DrawImage(HTMLImageElement image, double sx, double sy, double sw, double sh, double dx, double dy, double dw, double dh)
参数
image
HTMLImageElement
要绘制到上下文中的 HTMLImageElement。
sx
double
要绘制到目标上下文的源图像子矩形的左上角的 X 坐标。
sy
double
要绘制到目标上下文的源图像子矩形的左上角的 Y 坐标。
sw
double
要绘制到目标上下文的源图像子矩形的宽度。如果未指定,则使用从 sx 和 sy 指定的坐标到图像右下角的整个矩形。
sh
double
要绘制到目标上下文的源图像子矩形的高度。
dx
double
要在目标画布中放置源图像左上角的 X 坐标。
dy
double
要在目标画布中放置源图像左上角的 Y 坐标。
dw
double
在目标画布中绘制图像的宽度。这允许对绘制的图像进行缩放。如果未指定,则绘制时图像的宽度不会缩放。
dh
double
在目标画布中绘制图像的高度。这允许对绘制的图像进行缩放。如果未指定,则绘制时图像的高度不会缩放。
DrawImage(HTMLCanvasElement, double, double, double, double, double, double, double, double)
绘制指定的图像。
[DOMName("drawImage")]
void DrawImage(HTMLCanvasElement image, double sx, double sy, double sw, double sh, double dx, double dy, double dw, double dh)
参数
image
HTMLCanvasElement
要绘制到上下文中的 HTMLCanvasElement。
sx
double
要绘制到目标上下文的源图像子矩形的左上角的 X 坐标。
sy
double
要绘制到目标上下文的源图像子矩形的左上角的 Y 坐标。
sw
double
要绘制到目标上下文的源图像子矩形的宽度。如果未指定,则使用从 sx 和 sy 指定的坐标到图像右下角的整个矩形。
sh
double
要绘制到目标上下文的源图像子矩形的高度。
dx
double
要在目标画布中放置源图像左上角的 X 坐标。
dy
double
要在目标画布中放置源图像左上角的 Y 坐标。
dw
double
在目标画布中绘制图像的宽度。这允许对绘制的图像进行缩放。如果未指定,则绘制时图像的宽度不会缩放。
dh
double
在目标画布中绘制图像的高度。这允许对绘制的图像进行缩放。如果未指定,则绘制时图像的高度不会缩放。
Fill()
使用当前填充样式和默认算法 CanvasFillRule.Nonzero 填充子路径。
[DOMName("fill")]
void Fill()
Fill(CanvasFillRule)
使用当前填充样式填充子路径。
[DOMName("fill")]
void Fill(CanvasFillRule fillRule)
参数
fillRule
CanvasFillRule
确定点是否在路径内部或外部的算法。
Fill(Path2D)
使用当前填充样式和默认算法 CanvasFillRule.Nonzero 填充子路径。
[DOMName("fill")]
void Fill(Path2D path)
参数
path
Path2D
要填充的 Path2D 路径。
Fill(Path2D, CanvasFillRule)
使用当前填充样式填充子路径。
[DOMName("fill")]
void Fill(Path2D path, CanvasFillRule fillRule)
参数
path
Path2D
要填充的 Path2D 路径。
fillRule
CanvasFillRule
确定点是否在路径内部或外部的算法。
FillRect(double, double, double, double)
在 (x, y) 位置绘制一个填充矩形,其大小由宽度和高度决定。
[DOMName("fillRect")]
void FillRect(double x, double y, double w, double h)
参数
x
double
矩形起始点的 x 轴坐标。
y
double
矩形起始点的 y 轴坐标。
w
double
矩形的宽度。
h
double
矩形的高度。
FillText(string, double, double)
在给定的 (x,y) 位置绘制(填充)给定文本。
[DOMName("fillText")]
void FillText(string text, double x, double y)
参数
text
string
使用当前字体、textAlign、textBaseline 和方向值绘制的文本。
x
double
文本起始点的 x 轴坐标。
y
double
文本起始点的 y 轴坐标。
FillText(string, double, double, double)
在给定的 (x,y) 位置绘制(填充)给定文本。
[DOMName("fillText")]
void FillText(string text, double x, double y, double maxWidth)
参数
text
string
使用当前字体、textAlign、textBaseline 和方向值绘制的文本。
x
double
文本起始点的 x 轴坐标。
y
double
文本起始点的 y 轴坐标。
maxWidth
double
要绘制的最大宽度。如果指定,并且字符串被计算为宽于此宽度,则字体将调整为使用更水平压缩的字体(如果有可用的字体,或者如果可以通过水平缩放当前字体合成出合理可读的字体)或较小的字体。
GetImageData(double, double, double, double)
返回一个 ImageData 对象,表示画布上由矩形 (sx, sy) 开始并具有 sw 宽度和 sh 高度的区域的底层像素数据。 此方法不受画布变换矩阵的影响。
[DOMName("getImageData")]
IImageData GetImageData(double sx, double sy, double sw, double sh)
参数
sx
double
将提取 ImageData 的矩形的左上角的 x 坐标。
sy
double
将提取 ImageData 的矩形的左上角的 y 坐标。
sw
double
将提取 ImageData 的矩形的宽度。
sh
double
将提取 ImageData 的矩形的高度。
返回值
包含给定矩形的图像数据的 ImageData 对象。
IsPointInPath(double, double)
报告指定的点是否包含在当前路径中。
[DOMName("isPointInPath")]
bool IsPointInPath(double x, double y)
参数
x
double
要检查的点的 x 坐标。
y
double
要检查的点的 y 坐标。
返回值
如果点在路径填充的区域内,则返回 true;否则返回 false。
IsPointInPath(double, double, CanvasFillRule)
报告指定的点是否包含在当前路径中。
[DOMName("isPointInPath")]
bool IsPointInPath(double x, double y, CanvasFillRule fillRule)
参数
x
double
要检查的点的 x 坐标。
y
double
要检查的点的 y 坐标。
fillRule
CanvasFillRule
确定点是否在路径内部或外部的算法。
返回值
如果点在路径填充的区域内,则返回 true;否则返回 false。
IsPointInPath(Path2D, double, double)
报告指定的点是否包含在当前路径中。
[DOMName("isPointInPath")]
bool IsPointInPath(Path2D path, double x, double y)
参数
path
Path2D
要检查的 Path2D 路径。
x
double
要检查的点的 x 坐标。
y
double
要检查的点的 y 坐标。
返回值
如果点在路径填充的区域内,则返回 true;否则返回 false。
IsPointInPath(Path2D, double, double, CanvasFillRule)
报告指定的点是否包含在当前路径中。
[DOMName("isPointInPath")]
bool IsPointInPath(Path2D path, double x, double y, CanvasFillRule fillRule)
参数
path
Path2D
要检查的 Path2D 路径。
x
double
要检查的点的 x 坐标。
y
double
要检查的点的 y 坐标。
fillRule
CanvasFillRule
确定点是否在路径内部或外部的算法。
返回值
如果点在路径填充的区域内,则返回 true;否则返回 false。
IsPointInStroke(double, double)
报告指定的点是否位于路径描边的区域内。
[DOMName("isPointInStroke")]
bool IsPointInStroke(double x, double y)
参数
x
double
要检查的点的 x 坐标。
y
double
要检查的点的 y 坐标。
返回值
如果点在路径描边的区域内,则返回 true;否则返回 false。
IsPointInStroke(Path2D, double, double)
报告指定的点是否位于路径描边的区域内。
bool IsPointInStroke(Path2D path, double x, double y)
参数
path
Path2D
要检查的 Path2D 路径。
x
double
要检查的点的 x 坐标。
y
double
要检查的点的 y 坐标。
返回值
如果点在路径描边的区域内,则返回 true;否则返回 false。
MeasureText(string)
返回一个 TextMetrics 对象。
[DOMName("measureText")]
ITextMetrics MeasureText(string text)
参数
text
string
要测量的文本。
返回值
一个 TextMetrics 对象。
PutImageData(IImageData, double, double)
将来自给定 ImageData 对象的数据绘制到位图上。 如果提供了脏矩形,则仅绘制该矩形中的像素。 此方法不受画布变换矩阵的影响。
[DOMName("putImageData")]
void PutImageData(IImageData imagedata, double dx, double dy)
参数
imagedata
IImageData
包含像素值数组的 ImageData 对象。
dx
double
在目标画布中放置图像数据的水平位置(x 坐标)。
dy
double
在目标画布中放置图像数据的垂直位置(y 坐标)。
PutImageData(IImageData, double, double, double, double, double, double)
将来自给定 ImageData 对象的数据绘制到位图上。 如果提供了脏矩形,则仅绘制该矩形中的像素。 此方法不受画布变换矩阵的影响。
[DOMName("putImageData")]
void PutImageData(IImageData imagedata, double dx, double dy, double dirtyX, double dirtyY, double dirtyWidth, double dirtyHeight)
参数
imagedata
IImageData
包含像素值数组的 ImageData 对象。
dx
double
在目标画布中放置图像数据的水平位置(x 坐标)。
dy
double
在目标画布中放置图像数据的垂直位置(y 坐标)。
dirtyX
double
水平位置(x 坐标)。图像数据的左上角的 x 坐标。默认为 0。
dirtyY
double
垂直位置(y 坐标)。图像数据的左上角的 y 坐标。默认为 0。
dirtyWidth
double
要绘制的矩形的宽度。默认为图像数据的宽度。
dirtyHeight
double
要绘制的矩形的高度。默认为图像数据的高度。
RemoveHitRegion(string)
从画布中移除具有指定 id 的命中区域。
[DOMName("removeHitRegion")]
void RemoveHitRegion(string id)
参数
id
string
表示要移除的区域的 id 的字符串。
ResetTransform()
通过单位矩阵重置当前变换。
[DOMName("resetTransform")]
void ResetTransform()
Restore()
将绘图样式状态恢复到通过 save() 保存的“状态堆栈”中的最后一个元素。
[DOMName("restore")]
void Restore()
Rotate(double)
向变换矩阵添加旋转。角度参数表示顺时针旋转角度,以弧度表示。
[DOMName("rotate")]
void Rotate(double angle)
参数
angle
double
表示以弧度表示的顺时针旋转角度。
Save()
使用堆栈保存当前绘图样式状态,以便可以通过 restore() 撤消对其所做的任何更改。
[DOMName("save")]
void Save()
Scale(double, double)
向画布单位添加缩放变换,水平缩放 x,垂直缩放 y。
[DOMName("scale")]
void Scale(double x, double y)
参数
x
double
水平方向的缩放因子。
y
double
垂直方向的缩放因子。
SetTransform(double, double, double, double, double, double)
将当前变换重置为单位矩阵,然后使用相同的参数调用 transform() 方法。
[DOMName("setTransform")]
void SetTransform(double a, double b, double c, double d, double e, double f)
参数
a
double
水平缩放。
b
double
水平倾斜。
c
double
垂直倾斜。
d
double
垂直缩放。
e
double
水平移动。
f
double
垂直移动。
Stroke()
使用当前描边样式描边子路径。
[DOMName("stroke")]
void Stroke()
Stroke(Path2D)
使用当前描边样式描边子路径。
[DOMName("stroke")]
void Stroke(Path2D path)
参数
path
Path2D
要描边的 Path2D 路径。
StrokeRect(double, double, double, double)
使用当前描边样式在画布上绘制一个起始点为 (x, y) 且宽度为 w、高度为 h 的矩形。
[DOMName("strokeRect")]
void StrokeRect(double x, double y, double w, double h)
参数
x
double
矩形起始点的 x 轴坐标。
y
double
矩形起始点的 y 轴坐标。
w
double
矩形的宽度。
h
double
矩形的高度。
StrokeText(string, double, double)
在给定的 (x, y) 位置绘制(描边)给定文本。
[DOMName("strokeText")]
void StrokeText(string text, double x, double y)
参数
text
string
使用当前字体、textAlign、textBaseline 和方向值绘制的文本。
x
double
文本起始点的 x 轴坐标。
y
double
文本起始点的 y 轴坐标。
StrokeText(string, double, double, double?)
在给定的 (x, y) 位置绘制(描边)给定文本。
[DOMName("strokeText")]
void StrokeText(string text, double x, double y, double? maxWidth)
参数
text
string
使用当前字体、textAlign、textBaseline 和方向值绘制的文本。
x
double
文本起始点的 x 轴坐标。
y
double
文本起始点的 y 轴坐标。
maxWidth
double?
要绘制的最大宽度。如果指定,并且字符串被计算为宽于此宽度,则字体将调整为使用更水平压缩的字体(如果有可用的字体,或者如果可以通过水平缩放当前字体合成出合理可读的字体)或较小的字体。
Transform(double, double, double, double, double, double)
将当前变换矩阵与其参数描述的矩阵相乘。
[DOMName("transform")]
void Transform(double a, double b, double c, double d, double e, double f)
参数
a
double
水平缩放。
b
double
水平倾斜。
c
double
垂直倾斜。
d
double
垂直缩放。
e
double
水平移动。
f
double
垂直移动。
Translate(double, double)
通过在网格上水平移动 x 和垂直移动 y 来添加平移变换。
[DOMName("translate")]
void Translate(double x, double y)
参数
x
double
在水平方向上移动的距离。
y
double
在垂直方向上移动的距离。