Graphics
类图形
类图形表示 2D 图形基元。
在Sciter.JS图形可用:
at
<canvas>
元素,它表示其屏幕外缓冲区。在
element.paintXXXX(graphics)
支持所谓的即时模式绘画的方法中。在构造函数中
new Image(painter(graphics))
绘制图像图面。
类图形也是一个包含类的命名空间:
和几何实用程序类:
点——几何点,又称二维矢量;
尺寸 - 几何尺寸,宽度/高度值对。
矩形 - 矩形,可以表示为四边形 [x1,y1,x2,y2] 或点(原点)和大小(维度)的对。
性能:
lineCap
用于绘制线条(描边)端点的形状。
读写、字符串、以下之一
“butt” - 默认值,
“圆”,
“正方形”
lineJoin
用于连接它们相交的两个线段的形状。
读写、字符串、以下之一
“miter” - 默认值,
“圆”,
“斜角”
strokeStyle
读写,任一
颜色 - 颜色绘制笔触/线条;
string - 颜色或渐变的字符串表示;
画笔 - 画笔(渐变、平铺图像等);
lineWidth
strokeWidth
读写、数字、行宽(以 CSS 像素为单位,又称 dips)。
fillStyle
读写,任一
颜色 - 要填充的颜色;
string - 颜色或渐变的字符串表示;
画笔 - 画笔(渐变、平铺图像等);
font
读写,字符串,采用 CSS 字体属性格式
方法:
setLineDash()
设置虚线的配置
graphics.setLineDash(n1,n2,...)
beginPath()
通过清空子路径列表来启动新路径。
graphics.beginPath()
moveTo()
graphics.moveTo(x, y)
graphics.moveTo(Point)
lineTo()
graphics.lineTo(x, y)
graphics.lineTo(Point)
quadraticCurveTo()
将二次贝塞尔曲线添加到当前子路径。
graphics.quadraticCurveTo(cpx, cpy, x, y)
graphics.quadraticCurveTo(cp:Point, pt:Point)
bezierCurveTo()
将三次贝塞尔曲线添加到当前子路径。
graphics.bezierCurveTo(p1x, cp1y, cp2x, cp2y, x, y)
graphics.bezierCurveTo(cp1:Point, cp2:Point, pt:Point)
arcTo()
使用给定的控制点和半径向当前子路径添加圆弧。如果指定参数需要,圆弧会自动通过一条直线连接到路径的最新点。
graphics.arcTo(x1, y1, x2, y2, radius)
graphics.arcTo(cp1:Point, cp2:Point, radius)
arc()
向当前子路径添加圆弧。
graphics.arc(x, y, radius, startAngle, endAngle [, anticlockwise])
ellipse()
graphics.ellipse(x, y, radiusX, radiusY, rotation, startAngle, endAngle [, anticlockwise])
rect()
graphics.rect(x, y, width, height)
graphics.rect(Rect)
closePath()
添加一条从当前点到当前子路径起点的直线。如果路径已关闭或只有一个点,则此函数不执行任何操作。
graphics.closePath()
stroke()
graphics.stroke()
划线电流路径。
graphics.stroke(path)
给定 Path 对象的笔画。
fill()
graphics.fill()
填充当前路径。
graphics.fill(path[,fillRule])
填充给定的 Path 对象。
fillRule 是以下项之一:
“nonzero” - 非零绕组规则。默认规则。
“偶数” - 偶数/奇数绕组规则。
strokeRect()
绘制一个矩形,该矩形根据当前 strokeStyle 和其他图形设置进行描边(轮廓)。
graphics.strokeRect(x,y,w,h)
graphics.strokeRect(Rect)
fillRect()
绘制一个根据当前 fillStyle 填充的矩形。
graphics.fillRect(x,y,w,h)
graphics.fillRect(Rect)
clearRect()
通过将矩形区域中的像素设置为透明黑色来擦除这些像素。
graphics.clearRect(x,y,w,h);
graphics.clearRect(Rect);
fillText()
在指定的坐标处绘制一个文本字符串,并使用当前 fillStyle 填充字符串的字符。
graphics.fillText(text,x,y,maxWidth)
提示
在动态更新或频繁绘制相同文本的情况下,最好创建/重用 Graphics.Text 并使用 graphics.draw() 方法绘制它。
save()
通过将当前状态推送到堆栈上来保存图形的整个状态。
graphics.save()
restore()
通过弹出绘图状态堆栈中的顶部条目来恢复最近保存的画布状态。
graphics.restore()
向当前变换矩阵添加水平和垂直缩放。
graphics.scale(x,y)
translate()
向当前转换矩阵添加平移。
graphics.translate(x,y)
rotate()
graphics.rotate(angle [,x,y])
向当前变换矩阵添加旋转。
参数:
角度,弧度数或角度;
x,y,如果给定,则定义旋转中心;
transform()
将当前变换乘以此方法的参数描述的矩阵。
graphics.transform(a,b,c,d,e,f)
setTransform()
重置(重写)对恒等矩阵的当前转换,然后调用此方法的参数描述的转换。
graphics.setTransform(a,b,c,d,e,f)
resetTransform()
重置(覆盖)对单位矩阵的当前转换。
graphics.resetTransform()
方法(具体Sciter.JS):
draw()
graphics.draw(path, {params})
绘制给定的路径对象,params 是一个具有以下条件的对象:
x
,y
- 数字,目的地坐标;fill
、可选、"evenodd"
|"nonzero"
,如果已定义,则通过当前填充画笔填充路径;stroke
、可选、true
|false
,如果为 true - 通过当前描边画笔勾勒出路径;
graphics.draw(image, {params})
绘制图像对象,params 是一个具有以下特征的对象:
x
,y
- 数字,目的地坐标;width
,height
- 可选,数字,目标框的尺寸;srcX
,srcY
- 可选,整数,源框(精灵)的原点;srcWidth
,srcHeight
- 可选,整数,源框(精灵)的维度;opacity
,可选,0.0 ...1.0、不透明度(混合);
graphics.draw(text, {params})
绘制 Text 对象,params 是一个具有以下条件的对象:
x
,y
- 数字,目的地坐标;alignment
:整数,1..9,定义 x/y 坐标的含义,请参阅 NUMPAD。5 - 文本中心,7 - 左/上角等。fill
:颜色,可选,如果定义的文本是用该颜色绘制的。如果省略,则按当前填充颜色。
pushLayer()
graphics.pushLayer(x,y,w,h[,opacity|filter])
将图层(剪辑)推送到带有可选不透明度或滤镜的矩形剪辑的图层堆栈上。
参数:
x,y,w,h - 矩形;
不透明度 - 数字,范围 0.0 ...1.0 - 绘制具有不透明度的图层内容;
filter - 字符串,以 CSS 过滤器属性格式进行过滤器;
graphics.pushLayer(clipAreaName[,opacity | filter])
元素的局部剪辑,具有可选的不透明度。clipAreaName 是以下项之一:
"background-area"
- 元素背景区域核算边界半径;"border-box"
,"padding-box"
,"margin-box"
,"content-box"
graphics.pushLayer(path [,opacity])
推送具有可选不透明度的路径剪辑图层。
graphics.pushLayer(mask:Image, useAlpha [,opacity] )
推送具有可选不透明度的图像蒙版剪辑图层。
如果 useAlpha 为 true,则 alpha 值用作掩码值。否则,非黑色像素将定义蒙版。
popLayer()
Pops 层由最新的 pushLayer() 创建。