Packagelaya.display
Classpublic class Graphics
InheritanceGraphics Inheritance Object
Subclasses AutoBitmap, GraphicsGL

Graphics 类用于创建绘图显示对象。Graphics可以同时绘制多个位图或者矢量图,还可以结合save,restore,transform,scale,rotate,translate,alpha等指令对绘图效果进行变化。 Graphics以命令流方式存储,可以通过cmds属性访问所有命令流。Graphics是比Sprite更轻量级的对象,合理使用能提高应用性能(比如把大量的节点绘图改为一个节点的Graphics命令集合,能减少大量节点创建消耗)。

See also

laya.display.Sprite.graphics


Public Properties
 PropertyDefined By
  cmds : Array
Graphics
Public Methods
 MethodDefined By
  
创建一个新的 Graphics 类实例。
Graphics
  
alpha(value:Number):void
设置透明度。
Graphics
  
clear(recoverCmds:Boolean = false):void
清空绘制命令。
Graphics
  
clipRect(x:Number, y:Number, width:Number, height:Number):void
设置剪裁区域,超出剪裁区域的坐标不显示。
Graphics
  
destroy():void
销毁此对象。
Graphics
  
drawCircle(x:Number, y:Number, radius:Number, fillColor:*, lineColor:* = null, lineWidth:Number = 1):void
绘制圆形。
Graphics
  
drawCurves(x:Number, y:Number, points:Array, lineColor:*, lineWidth:Number = 1):void
绘制一系列曲线。
Graphics
  
drawLine(fromX:Number, fromY:Number, toX:Number, toY:Number, lineColor:String, lineWidth:Number = 1):void
绘制一条线。
Graphics
  
drawLines(x:Number, y:Number, points:Array, lineColor:*, lineWidth:Number = 1):void
绘制一系列线段。
Graphics
  
drawPath(x:Number, y:Number, paths:Array, brush:Object = null, pen:Object = null):void
绘制路径。
Graphics
  
drawPie(x:Number, y:Number, radius:Number, startAngle:Number, endAngle:Number, fillColor:*, lineColor:* = null, lineWidth:Number = 1):void
绘制扇形。
Graphics
  
drawPoly(x:Number, y:Number, points:Array, fillColor:*, lineColor:* = null, lineWidth:Number = 1):void
绘制多边形。
Graphics
  
drawRect(x:Number, y:Number, width:Number, height:Number, fillColor:*, lineColor:* = null, lineWidth:Number = 1):void
绘制矩形。
Graphics
  
drawTexture(tex:Texture, x:Number = 0, y:Number = 0, width:Number = 0, height:Number = 0, m:Matrix = null, alpha:Number = 1):Array
绘制纹理。
Graphics
  
drawTextures(tex:Texture, pos:Array):void
批量绘制同样纹理。
Graphics
  
fillBorderText(text:*, x:Number, y:Number, font:String, fillColor:String, borderColor:String, lineWidth:Number, textAlign:String):void
在画布上绘制“被填充且镶边的”文本。
Graphics
  
fillText(text:String, x:Number, y:Number, font:String, color:String, textAlign:String, underLine:int = 0):void
在画布上绘制文本。
Graphics
  
fillTexture(tex:Texture, x:Number, y:Number, width:Number = 0, height:Number = 0, type:String = repeat, offset:Point = null):void
用texture填充。
Graphics
  
getBounds(realSize:Boolean = false):Rectangle
获取位置及宽高信息矩阵(比较耗CPU,频繁使用会造成卡顿,尽量少用)。
Graphics
  
loadImage(url:String, x:Number = 0, y:Number = 0, width:Number = 0, height:Number = 0, complete:Function = null):void
加载并显示一个图片。
Graphics
  
restore():void
返回之前保存过的路径状态和属性。
Graphics
  
rotate(angle:Number, pivotX:Number = 0, pivotY:Number = 0):void
旋转当前绘图。(推荐使用transform,性能更高)
Graphics
  
save():void
保存当前环境的状态。
Graphics
  
scale(scaleX:Number, scaleY:Number, pivotX:Number = 0, pivotY:Number = 0):void
缩放当前绘图至更大或更小。(推荐使用transform,性能更高)
Graphics
  
setAlpha(value:Number):void
设置当前透明度。
Graphics
  
setFilters(fs:Array):void
Graphics
  
strokeText(text:*, x:Number, y:Number, font:String, color:String, lineWidth:Number, textAlign:String):void
在画布上绘制文本(没有填色)。文本的默认颜色是黑色。
Graphics
  
transform(matrix:Matrix, pivotX:Number = 0, pivotY:Number = 0):void
替换绘图的当前转换矩阵。
Graphics
  
translate(x:Number, y:Number):void
重新映射画布上的 (0,0) 位置。
Graphics
Property Detail
cmdsproperty
cmds:Array


Implementation
    public function get cmds():Array
    public function set cmds(value:Array):void
Constructor Detail
Graphics()Constructor
public function Graphics()

创建一个新的 Graphics 类实例。

Method Detail
alpha()method
public function alpha(value:Number):void

设置透明度。

Parameters

value:Number — 透明度。

clear()method 
public function clear(recoverCmds:Boolean = false):void

清空绘制命令。

Parameters

recoverCmds:Boolean (default = false) — 是否回收绘图指令

clipRect()method 
public function clipRect(x:Number, y:Number, width:Number, height:Number):void

设置剪裁区域,超出剪裁区域的坐标不显示。

Parameters

x:Number — X 轴偏移量。
 
y:Number — Y 轴偏移量。
 
width:Number — 宽度。
 
height:Number — 高度。

destroy()method 
public function destroy():void

销毁此对象。

drawCircle()method 
public function drawCircle(x:Number, y:Number, radius:Number, fillColor:*, lineColor:* = null, lineWidth:Number = 1):void

绘制圆形。

Parameters

x:Number — 圆点X 轴位置。
 
y:Number — 圆点Y 轴位置。
 
radius:Number — 半径。
 
fillColor:* — 填充颜色,或者填充绘图的渐变对象。
 
lineColor:* (default = null) — (可选)边框颜色,或者填充绘图的渐变对象。
 
lineWidth:Number (default = 1) — (可选)边框宽度。

drawCurves()method 
public function drawCurves(x:Number, y:Number, points:Array, lineColor:*, lineWidth:Number = 1):void

绘制一系列曲线。

Parameters

x:Number — 开始绘制的 X 轴位置。
 
y:Number — 开始绘制的 Y 轴位置。
 
points:Array — 线段的点集合,格式[startx,starty,ctrx,ctry,startx,starty...]。
 
lineColor:* — 线段颜色,或者填充绘图的渐变对象。
 
lineWidth:Number (default = 1) — (可选)线段宽度。

drawLine()method 
public function drawLine(fromX:Number, fromY:Number, toX:Number, toY:Number, lineColor:String, lineWidth:Number = 1):void

绘制一条线。

Parameters

fromX:Number — X轴开始位置。
 
fromY:Number — Y轴开始位置。
 
toX:Number — X轴结束位置。
 
toY:Number — Y轴结束位置。
 
lineColor:String — 颜色。
 
lineWidth:Number (default = 1) — (可选)线条宽度。

drawLines()method 
public function drawLines(x:Number, y:Number, points:Array, lineColor:*, lineWidth:Number = 1):void

绘制一系列线段。

Parameters

x:Number — 开始绘制的X轴位置。
 
y:Number — 开始绘制的Y轴位置。
 
points:Array — 线段的点集合。格式:[x1,y1,x2,y2,x3,y3...]。
 
lineColor:* — 线段颜色,或者填充绘图的渐变对象。
 
lineWidth:Number (default = 1) — (可选)线段宽度。

drawPath()method 
public function drawPath(x:Number, y:Number, paths:Array, brush:Object = null, pen:Object = null):void

绘制路径。

Parameters

x:Number — 开始绘制的 X 轴位置。
 
y:Number — 开始绘制的 Y 轴位置。
 
paths:Array — 路径集合,路径支持以下格式:[["moveTo",x,y],["lineTo",x,y,x,y,x,y],["arcTo",x1,y1,x2,y2,r],["closePath"]]。
 
brush:Object (default = null) — (可选)刷子定义,支持以下设置{fillStyle}。
 
pen:Object (default = null) — (可选)画笔定义,支持以下设置{strokeStyle,lineWidth,lineJoin,lineCap,miterLimit}。

drawPie()method 
public function drawPie(x:Number, y:Number, radius:Number, startAngle:Number, endAngle:Number, fillColor:*, lineColor:* = null, lineWidth:Number = 1):void

绘制扇形。

Parameters

x:Number — 开始绘制的 X 轴位置。
 
y:Number — 开始绘制的 Y 轴位置。
 
radius:Number — 扇形半径。
 
startAngle:Number — 开始角度。
 
endAngle:Number — 结束角度。
 
fillColor:* — 填充颜色,或者填充绘图的渐变对象。
 
lineColor:* (default = null) — (可选)边框颜色,或者填充绘图的渐变对象。
 
lineWidth:Number (default = 1) — (可选)边框宽度。

drawPoly()method 
public function drawPoly(x:Number, y:Number, points:Array, fillColor:*, lineColor:* = null, lineWidth:Number = 1):void

绘制多边形。

Parameters

x:Number — 开始绘制的 X 轴位置。
 
y:Number — 开始绘制的 Y 轴位置。
 
points:Array — 多边形的点集合。
 
fillColor:* — 填充颜色,或者填充绘图的渐变对象。
 
lineColor:* (default = null) — (可选)边框颜色,或者填充绘图的渐变对象。
 
lineWidth:Number (default = 1) — (可选)边框宽度。

drawRect()method 
public function drawRect(x:Number, y:Number, width:Number, height:Number, fillColor:*, lineColor:* = null, lineWidth:Number = 1):void

绘制矩形。

Parameters

x:Number — 开始绘制的 X 轴位置。
 
y:Number — 开始绘制的 Y 轴位置。
 
width:Number — 矩形宽度。
 
height:Number — 矩形高度。
 
fillColor:* — 填充颜色,或者填充绘图的渐变对象。
 
lineColor:* (default = null) — (可选)边框颜色,或者填充绘图的渐变对象。
 
lineWidth:Number (default = 1) — (可选)边框宽度。

drawTexture()method 
public function drawTexture(tex:Texture, x:Number = 0, y:Number = 0, width:Number = 0, height:Number = 0, m:Matrix = null, alpha:Number = 1):Array

绘制纹理。

Parameters

tex:Texture — 纹理。
 
x:Number (default = 0) — (可选)X轴偏移量。
 
y:Number (default = 0) — (可选)Y轴偏移量。
 
width:Number (default = 0) — (可选)宽度。
 
height:Number (default = 0) — (可选)高度。
 
m:Matrix (default = null) — (可选)矩阵信息。
 
alpha:Number (default = 1) — (可选)透明度。

Returns
Array
drawTextures()method 
public function drawTextures(tex:Texture, pos:Array):void

批量绘制同样纹理。

Parameters

tex:Texture — 纹理。
 
pos:Array — 绘制次数和坐标。

fillBorderText()method 
public function fillBorderText(text:*, x:Number, y:Number, font:String, fillColor:String, borderColor:String, lineWidth:Number, textAlign:String):void

在画布上绘制“被填充且镶边的”文本。

Parameters

text:* — 在画布上输出的文本。
 
x:Number — 开始绘制文本的 x 坐标位置(相对于画布)。
 
y:Number — 开始绘制文本的 y 坐标位置(相对于画布)。
 
font:String — 定义字体和字号,比如"20px Arial"。
 
fillColor:String — 定义文本颜色,比如"#ff0000"。
 
borderColor:String — 定义镶边文本颜色。
 
lineWidth:Number — 镶边线条宽度。
 
textAlign:String — 文本对齐方式,可选值:"left","center","right"。

fillText()method 
public function fillText(text:String, x:Number, y:Number, font:String, color:String, textAlign:String, underLine:int = 0):void

在画布上绘制文本。

Parameters

text:String — 在画布上输出的文本。
 
x:Number — 开始绘制文本的 x 坐标位置(相对于画布)。
 
y:Number — 开始绘制文本的 y 坐标位置(相对于画布)。
 
font:String — 定义字号和字体,比如"20px Arial"。
 
color:String — 定义文本颜色,比如"#ff0000"。
 
textAlign:String — 文本对齐方式,可选值:"left","center","right"。
 
underLine:int (default = 0)

fillTexture()method 
public function fillTexture(tex:Texture, x:Number, y:Number, width:Number = 0, height:Number = 0, type:String = repeat, offset:Point = null):void

用texture填充。

Parameters

tex:Texture — 纹理。
 
x:Number — X轴偏移量。
 
y:Number — Y轴偏移量。
 
width:Number (default = 0) — (可选)宽度。
 
height:Number (default = 0) — (可选)高度。
 
type:String (default = repeat) — (可选)填充类型 repeat|repeat-x|repeat-y|no-repeat
 
offset:Point (default = null) — (可选)贴图纹理偏移

getBounds()method 
public function getBounds(realSize:Boolean = false):Rectangle

获取位置及宽高信息矩阵(比较耗CPU,频繁使用会造成卡顿,尽量少用)。

Parameters

realSize:Boolean (default = false) — (可选)使用图片的真实大小,默认为false

Returns
Rectangle — 位置与宽高组成的 一个 Rectangle 对象。
loadImage()method 
public function loadImage(url:String, x:Number = 0, y:Number = 0, width:Number = 0, height:Number = 0, complete:Function = null):void

加载并显示一个图片。

Parameters

url:String — 图片地址。
 
x:Number (default = 0) — (可选)显示图片的x位置。
 
y:Number (default = 0) — (可选)显示图片的y位置。
 
width:Number (default = 0) — (可选)显示图片的宽度,设置为0表示使用图片默认宽度。
 
height:Number (default = 0) — (可选)显示图片的高度,设置为0表示使用图片默认高度。
 
complete:Function (default = null) — (可选)加载完成回调。

restore()method 
public function restore():void

返回之前保存过的路径状态和属性。

rotate()method 
public function rotate(angle:Number, pivotX:Number = 0, pivotY:Number = 0):void

旋转当前绘图。(推荐使用transform,性能更高)

Parameters

angle:Number — 旋转角度,以弧度计。
 
pivotX:Number (default = 0) — (可选)水平方向轴心点坐标。
 
pivotY:Number (default = 0) — (可选)垂直方向轴心点坐标。

save()method 
public function save():void

保存当前环境的状态。

scale()method 
public function scale(scaleX:Number, scaleY:Number, pivotX:Number = 0, pivotY:Number = 0):void

缩放当前绘图至更大或更小。(推荐使用transform,性能更高)

Parameters

scaleX:Number — 水平方向缩放值。
 
scaleY:Number — 垂直方向缩放值。
 
pivotX:Number (default = 0) — (可选)水平方向轴心点坐标。
 
pivotY:Number (default = 0) — (可选)垂直方向轴心点坐标。

setAlpha()method 
public function setAlpha(value:Number):void

设置当前透明度。

Parameters

value:Number — 透明度。

setFilters()method 
public function setFilters(fs:Array):void

Parameters

fs:Array

strokeText()method 
public function strokeText(text:*, x:Number, y:Number, font:String, color:String, lineWidth:Number, textAlign:String):void

在画布上绘制文本(没有填色)。文本的默认颜色是黑色。

Parameters

text:* — 在画布上输出的文本。
 
x:Number — 开始绘制文本的 x 坐标位置(相对于画布)。
 
y:Number — 开始绘制文本的 y 坐标位置(相对于画布)。
 
font:String — 定义字体和字号,比如"20px Arial"。
 
color:String — 定义文本颜色,比如"#ff0000"。
 
lineWidth:Number — 线条宽度。
 
textAlign:String — 文本对齐方式,可选值:"left","center","right"。

transform()method 
public function transform(matrix:Matrix, pivotX:Number = 0, pivotY:Number = 0):void

替换绘图的当前转换矩阵。

Parameters

matrix:Matrix — 矩阵。
 
pivotX:Number (default = 0) — (可选)水平方向轴心点坐标。
 
pivotY:Number (default = 0) — (可选)垂直方向轴心点坐标。

translate()method 
public function translate(x:Number, y:Number):void

重新映射画布上的 (0,0) 位置。

Parameters

x:Number — 添加到水平坐标(x)上的值。
 
y:Number — 添加到垂直坐标(y)上的值。