Options
All
  • Public
  • Public/Protected
  • All
Menu

Class SCanvasPaintEngine

Canvas绘制引擎基类

author

庞利祥(sybotan@126.com)

Hierarchy

Index

Constructors

constructor

  • 构造函数

    Parameters

    • canvas: CanvasRenderingContext2D

      canvas对象

    Returns SCanvasPaintEngine

Properties

Private Readonly _canvas

_canvas: CanvasRenderingContext2D

画布对象

Static gcoList

gcoList: string[] = ["copy","destination-atop","destination-in","destination-out","destination-over","lighter","source-atop","source-in","source-out","source-over","xor"]

融合类型

Accessors

state

type

  • 绘制引擎类型

    Returns SPaintEngineType

    返回Canvas绘制引擎类型

Methods

bezierCurveTo

  • bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void
  • 绘制三次贝塞尔曲线

    Parameters

    • cp1x: number

      起始点控制点X坐标

    • cp1y: number

      起始点控制点Y坐标

    • cp2x: number

      结束点控制点X坐标

    • cp2y: number

      结束点控制点Y坐标

    • x: number

      结束点X坐标

    • y: number

      结束点Y坐标

    Returns void

changeFont

  • changeFont(font: SFont): void
  • 设置字体

    Parameters

    Returns void

clearRect

  • clearRect(rect: SRect): void
  • 清空矩形区域

    Parameters

    Returns void

drawCircle

  • drawCircle(cx: number, cy: number, r: number): void
  • 绘制圆形

    Parameters

    • cx: number

      圆心X坐标

    • cy: number

      圆心X坐标

    • r: number

      圆半径

    Returns void

drawEllipse

  • drawEllipse(cx: number, cy: number, rx: number, ry: number): void
  • 绘制椭圆

    Parameters

    • cx: number

      圆点X坐标

    • cy: number

      圆点Y坐标

    • rx: number

      水平半径

    • ry: number

      垂直半径

    Returns void

drawImage

  • drawImage(img: CanvasImageSource, x: number, y: number, width?: undefined | number, height?: undefined | number): void
  • 绘制图片

    Parameters

    • img: CanvasImageSource

      图片

    • x: number

      X坐标

    • y: number

      Y坐标

    • Optional width: undefined | number

      宽度

    • Optional height: undefined | number

      高度

    Returns void

drawLine

  • drawLine(line: SLine): void
  • 绘制线段

    Parameters

    Returns void

drawPath

  • drawPath(path: SPath): void
  • 绘制路径

    Parameters

    Returns void

drawPolygon

  • drawPolygon(points: SPoint[]): void
  • 绘制多边形

    Parameters

    • points: SPoint[]

      多边形顶点

    Returns void

drawPolyline

  • drawPolyline(points: SPoint[]): void
  • 绘制折线

    Parameters

    • points: SPoint[]

      折线折点

    Returns void

drawRect

  • drawRect(rect: SRect): void
  • 绘制空心矩形

    Parameters

    Returns void

drawRoundRect

  • drawRoundRect(rect: SRect, r: number): void
  • 绘制带导角空心矩形

    Parameters

    • rect: SRect

      矩形

    • r: number

      导角半径

    Returns void

drawText

  • drawText(text: string, x: number, y: number, maxWidth?: undefined | number): void
  • 绘制文本

    Parameters

    • text: string

      文本内容

    • x: number

      X坐标

    • y: number

      Y坐标

    • Optional maxWidth: undefined | number

      最大宽度

    Returns void

quadraticCurveTo

  • quadraticCurveTo(cp1x: number, cp1y: number, x: number, y: number): void
  • 绘制二次贝塞尔曲线

    Parameters

    • cp1x: number

      控制点X坐标

    • cp1y: number

      控制点Y坐标

    • x: number

      结束点X坐标

    • y: number

      结束点Y坐标

    Returns void

resetTransform

  • resetTransform(): void
  • 重置当前变形为单位矩阵。等价于调用setTransform(1, 0, 0, 1, 0, 0)

    Returns void

restore

  • restore(): void
  • 恢复painter状态

    Returns void

rotate

  • rotate(angle: number): void
  • 旋转

    Parameters

    • angle: number

      旋转角度(单位弧度)

    Returns void

save

  • save(): void
  • 保存painter状态

    Returns void

scale

  • scale(x: number, y: number): void
  • 缩放

    Parameters

    • x: number

      X轴方向缩放

    • y: number

      Y辆方向缩放

    Returns void

Private setBaseLine

  • 设置文本基线对齐选项

    Parameters

    Returns void

Private setBrush

  • setBrush(): void
  • 设置画刷

    Returns void

setClip

  • setClip(path: Path2D): void
  • 设置裁剪路径

    Parameters

    • path: Path2D

      裁剪路径

    Returns void

Private setComposite

  • setComposite(): void
  • 设置融合

    Returns void

Private setFont

  • setFont(): void
  • 设置字体

    Returns void

Private setLineCapStyle

  • 线段端点风格

    Parameters

    Returns void

Private setMatrix

  • setMatrix(): void
  • 设置变型矩阵

    Returns void

Private setPen

  • setPen(): void
  • 设置画笔

    Returns void

Private setShadow

  • setShadow(): void
  • 设置阴影

    Returns void

Private setTextAlign

  • 文本对齐选项

    Parameters

    Returns void

Private setTextDirection

  • 设置文本方向选项

    Parameters

    Returns void

setTransform

  • setTransform(m11: number, m12: number, m21: number, m22: number, dx: number, dy: number): void
  • 将当前的变形矩阵重置为单位矩阵,再将当前的变形矩阵乘上一个基于自身参数的矩阵

    Parameters

    • m11: number

      水平方向的缩放

    • m12: number

      水平方向的倾斜偏移

    • m21: number

      竖直方向的倾斜偏移

    • m22: number

      竖直方向的缩放

    • dx: number

      水平方向的移动

    • dy: number

      竖直方向的移动

    Returns void

textWidth

  • textWidth(text: string): number
  • 预测量文本宽度

    Parameters

    • text: string

      预测的文本

    Returns number

    文本长度像素

transform

  • transform(m11: number, m12: number, m21: number, m22: number, dx: number, dy: number): void
  • 将当前的变形矩阵乘上一个基于自身参数的矩阵

    Parameters

    • m11: number

      水平方向的缩放

    • m12: number

      水平方向的倾斜偏移

    • m21: number

      竖直方向的倾斜偏移

    • m22: number

      竖直方向的缩放

    • dx: number

      水平方向的移动

    • dy: number

      竖直方向的移动

    Returns void

translate

  • translate(x: number, y: number): void
  • 平移变换

    Parameters

    • x: number

      X轴方向平移

    • y: number

      Y辆方向平移

    Returns void