路径:支持库 → 扩展类库 → 绘制类(及字体/画笔/画刷)。
类型名必须写完整「绘制类」「字体类」「画笔类」「画刷类」。
硬约束
- 先准备字体/画笔/画刷对象,再交给绘制类使用(具体方法见下)。
- 方法调用必须带括号。
- 坐标与尺寸单位以实现为准(通常为像素)。
- 与画布控件(
canvas)互补:本页是绘制对象 API。
快速开始
绘制类 g
字体类 f
画笔类 pen
画刷类 brush
// 置字体/画笔/画刷后绘制:见下方命令介绍
绘制类/创建
共 1 条。
创建绘制
- 签名:
通用 创建绘制() - 说明:显式创建一个绘制对象(一般直接写「绘制类 g」即可,声明时自动创建)。
绘制类/方法
共 54 条。
绑画布
- 签名:
无 绑画布(组件名 画布名) - 说明:绑定画布组件:坐标为场景坐标,含视图平移/缩放。直接写名称,无需引号。
- 参数一│组件名 画布名: 如 画布1。
绑组件
- 签名:
无 绑组件(组件名 目标) - 说明:绑定任意组件:坐标为控件客户区(左上为原点)。直接写名称,无需引号。
- 参数一│组件名 目标: 如 按钮1、图片框1。
绑窗口
- 签名:
无 绑窗口([组件名 窗口名]) - 说明:绑定窗口客户区(标题栏下方)。无参=当前窗;可指定次级窗/主窗名(无需引号)。绑定后可在定时器等事件里
开始绘制→画线/文本→结束绘制,返回真;命令排队到下次重绘叠画。 - 参数一│[组件名 窗口名]: 省略为当前窗口;如 窗口1、主窗口。
定时器示例:
绘制类 画
定时器类 钟
函数 滴答()
{
如果 (画.开始绘制())
{
// 开始绘制会清空上一批叠层命令;无参清空() 效果相同
画.置画笔("#FFFFFFFF", 2)
画.画矩形(10, 10, 100, 60)
画.结束绘制()
}
}
函数 主窗口.创建完毕()
{
画.绑窗口()
钟.启动(50, &滴答)
}
绑窗口/绑组件后:开始绘制() 会重置叠层命令;无参 清空() 同样只清命令、不擦控件。有色 清空("#颜色") 在叠层上改为填充客户区(不再整窗 Clear)。自绘底色仍建议绑画布或位图。
绑句柄
- 签名:
无 绑句柄(长整数 句柄) - 说明:按组件逻辑句柄(1 起)或窗口 HWND 绑定;传 0 解绑。
- 参数一│长整数 句柄: 按钮1.句柄 或 主窗口.句柄。
用画笔
- 签名:
无 用画笔(画笔类 画笔) - 说明:将画笔类的颜色/线宽/线型套用到当前绘制对象。
- 参数一│画笔类 画笔
用画刷
- 签名:
无 用画刷(画刷类 画刷) - 说明:将画刷类的纯色或渐变填充套用到当前绘制对象。
- 参数一│画刷类 画刷
用字体
- 签名:
无 用字体(字体类 字体) - 说明:将字体类的族/字号/粗体/倾斜套用到当前绘制对象;若字体设置过文本色则同时套用为填充色(画文本用)。
- 参数一│字体类 字体
创建位图
- 签名:
无 创建位图(整数 宽, 整数 高, [逻辑 透明=真]) - 说明:创建离屏位图作为绘制目标(可导出 PNG)。
- 参数一│整数 宽
- 参数二│整数 高
- 参数三│[逻辑 透明=真]: 是否含 Alpha。
解绑
- 签名:
无 解绑() - 说明:解除当前表面/位图绑定。
开始绘制
- 签名:
逻辑 开始绘制() - 说明:开始一帧绘制;须与 结束绘制() 成对。成功返回真。绑窗口/画布/控件后,可在任意事件(含定时器)里调用:帧外绘制命令会排队,窗口重绘时自动叠画。离屏位图仍须在 创建位图 之后成对调用。
结束绘制
- 签名:
逻辑 结束绘制() - 说明:结束当前绘制帧并提交(表面绑定会触发重绘叠画)。
取活动
- 签名:
逻辑 取活动() - 说明:是否处于 开始绘制…结束绘制 之间。
清空
- 签名:
无 清空([文本 颜色]) - 说明:绑画布/位图时清空目标;绑窗口/绑组件时无参只重置叠层命令(不擦控件),有色则填充客户区。
- 参数一│[文本 颜色]: 如 “#FFFFFF”;省略则只重置命令/透明清。
置抗锯齿
- 签名:
无 置抗锯齿([逻辑 开=真]) - 说明:开启或关闭抗锯齿;无参默认开启。
- 参数一│[逻辑 开=真]
置不透明度
- 签名:
无 置不透明度([小数 透明度=1]) - 说明:设置后续绘制的不透明度(0~1);无参默认 1。
- 参数一│[小数 透明度=1]: 0=全透明,1=不透明。
置画笔
- 签名:
无 置画笔([文本 颜色="#FFFFFFFF"], [小数 宽度=1]) - 说明:设置描边颜色与线宽;均可省略(默认白、线宽 1)。
- 参数一│[文本 颜色=”#FFFFFFFF”]
- 参数二│[小数 宽度=1]
置填充
- 签名:
无 置填充([文本 颜色="#FFFF6688"]) - 说明:设置填充颜色;无参默认粉红便于试画。
- 参数一│[文本 颜色=”#FFFF6688”]
置线型
- 签名:
无 置线型([整数 端点=0], [整数 连接=0], [整数 虚线=0]) - 说明:设置线帽/连接/虚线;均可省略(默认 0)。端点 0平/1圆/2方;连接 0斜接/1圆/2斜角;虚线 0实/1虚/2点/3点划。
- 参数一│[整数 端点=0]
- 参数二│[整数 连接=0]
- 参数三│[整数 虚线=0]
保存
- 签名:
无 保存() - 说明:压入当前变换/裁剪/样式状态。
恢复
- 签名:
无 恢复() - 说明:弹出保存的状态。
重置变换
- 签名:
无 重置变换() - 说明:将变换矩阵重置为单位矩阵。
平移
- 签名:
无 平移(小数 X, 小数 Y) - 说明:平移坐标系。
- 参数一│小数 X
- 参数二│小数 Y
旋转
- 签名:
无 旋转(小数 角度) - 说明:绕原点旋转(度)。
- 参数一│小数 角度: 度数。
缩放
- 签名:
无 缩放(小数 X, 小数 Y) - 说明:缩放坐标系。
- 参数一│小数 X
- 参数二│小数 Y
裁剪矩形
- 签名:
无 裁剪矩形(小数 X, 小数 Y, 小数 宽, 小数 高) - 说明:设置矩形裁剪区域。
- 参数一│小数 X
- 参数二│小数 Y
- 参数三│小数 宽
- 参数四│小数 高
清除裁剪
- 签名:
无 清除裁剪() - 说明:清除裁剪区域。
画线
- 签名:
无 画线(小数 X1, 小数 Y1, 小数 X2, 小数 Y2) - 说明:画一条线段。
- 参数一│小数 X1
- 参数二│小数 Y1
- 参数三│小数 X2
- 参数四│小数 Y2
画矩形
- 签名:
无 画矩形(小数 X, 小数 Y, 小数 宽, 小数 高) - 说明:画矩形(描边/填充取决于当前画笔与填充)。
- 参数一│小数 X
- 参数二│小数 Y
- 参数三│小数 宽
- 参数四│小数 高
画圆角矩形
- 签名:
无 画圆角矩形(小数 X, 小数 Y, 小数 宽, 小数 高, 小数 半径) - 说明:画圆角矩形。
- 参数一│小数 X
- 参数二│小数 Y
- 参数三│小数 宽
- 参数四│小数 高
- 参数五│小数 半径
画椭圆
- 签名:
无 画椭圆(小数 X, 小数 Y, 小数 宽, 小数 高) - 说明:画椭圆(外接矩形)。
- 参数一│小数 X
- 参数二│小数 Y
- 参数三│小数 宽
- 参数四│小数 高
画弧
- 签名:
无 画弧(小数 X, 小数 Y, 小数 宽, 小数 高, 小数 起始角, 小数 扫过角) - 说明:按外接矩形画椭圆弧(仅描边)。角为度,屏幕坐标下正角顺时针。
- 参数│X/Y/宽/高/起始角/扫过角
画扇形
- 签名:
无 画扇形(小数 X, 小数 Y, 小数 宽, 小数 高, [小数 起始角=0], [小数 扫过角=90]) - 说明:画饼块(填充+描边)。角为度,屏幕坐标下正角顺时针;角度可省略。
- 参数│X/Y/宽/高;起始角/扫过角可省略(默认 0→90)
画多边形
- 签名:
无 画多边形(文本 点列) - 说明:点列如 “0,0;100,0;50,80” 或 “0,0,100,0,50,80”。
- 参数一│文本 点列
置线性渐变
- 签名:
无 置线性渐变([小数 X1=0], [小数 Y1=0], [小数 X2=100], [小数 Y2=0], [文本 色1="#FFFFFFFF"], [文本 色2="#FF000000"]) - 说明:设置线性渐变填充;参数均可省略(默认水平 0→100,白→黑)。置填充() 恢复纯色。
- 参数│起止点与两端颜色 (#AARRGGBB),均可省略
置径向渐变
- 签名:
无 置径向渐变([小数 圆心X=50], [小数 圆心Y=50], [小数 半径X=50], [小数 半径Y=50], [文本 色1="#FFFFFFFF"], [文本 色2="#FF000000"]) - 说明:设置径向渐变填充;参数均可省略(默认圆心 50,50 半径 50)。
- 参数│圆心、半径与两端颜色,均可省略
开始路径
- 签名:
无 开始路径() - 说明:开始构建路径;随后 移动到/线到/…,再 描边路径 或 填充路径。
移动到
- 签名:
无 移动到(小数 X, 小数 Y) - 说明:路径落笔到点(不连线)。
- 参数一│小数 X
- 参数二│小数 Y
线到
- 签名:
无 线到(小数 X, 小数 Y) - 说明:路径直线到点。
- 参数一│小数 X
- 参数二│小数 Y
二次到
- 签名:
无 二次到(小数 控制X, 小数 控制Y, 小数 X, 小数 Y) - 说明:二次贝塞尔曲线。
- 参数│控制点与终点
三次到
- 签名:
无 三次到(小数 C1X, 小数 C1Y, 小数 C2X, 小数 C2Y, 小数 X, 小数 Y) - 说明:三次贝塞尔曲线。
- 参数│两控制点与终点
弧到
- 签名:
无 弧到(小数 X, 小数 Y, 小数 宽, 小数 高, 小数 起始角, 小数 扫过角) - 说明:向路径追加椭圆弧段。
- 参数│外接矩形与角度
闭合路径
- 签名:
无 闭合路径() - 说明:闭合当前子路径。
描边路径
- 签名:
无 描边路径() - 说明:用当前画笔描边已构建路径。
填充路径
- 签名:
无 填充路径() - 说明:用当前填充(纯色或渐变)填充已构建路径。
填充并描边路径
- 签名:
无 填充并描边路径() - 说明:对同一路径先填充再描边(饼图/闭合形状常用)。
画文本
- 签名:
无 画文本(小数 X, 小数 Y, 文本 内容) - 说明:在指定位置绘制文本。
- 参数一│小数 X
- 参数二│小数 Y
- 参数三│文本 内容
置字体
- 签名:
无 置字体([文本 族="Microsoft YaHei UI"], [小数 大小=12], [逻辑 粗体=假], [逻辑 斜体=假]) - 说明:设置后续文本的字体;均可省略(默认雅黑 12)。
- 参数一│[文本 族=”Microsoft YaHei UI”]
- 参数二│[小数 大小=12]
- 参数三│[逻辑 粗体=假]
- 参数四│[逻辑 斜体=假]
取文本宽度
- 签名:
小数 取文本宽度(文本 内容) - 说明:按当前字体测量文本宽度(DIP)。
- 参数一│文本 内容
取文本高度
- 签名:
小数 取文本高度(文本 内容) - 说明:按当前字体测量文本高度(DIP)。
- 参数一│文本 内容
画图像
- 签名:
无 画图像(小数 X, 小数 Y, 小数 宽, 小数 高, 文本 路径) - 说明:将图像文件绘制到矩形区域。
- 参数一│小数 X
- 参数二│小数 Y
- 参数三│小数 宽
- 参数四│小数 高
- 参数五│文本 路径: 图片文件路径。
到字节集
- 签名:
字节集 到字节集() - 说明:将当前离屏位图导出为 PNG 字节集(须先 创建位图 并绘制)。
存文件
- 签名:
逻辑 存文件(文本 路径) - 说明:将当前离屏位图存为 PNG 文件。成功返回真。
- 参数一│文本 路径
取宽度
- 签名:
整数 取宽度() - 说明:当前目标宽度(像素)。
取高度
- 签名:
整数 取高度() - 说明:当前目标高度(像素)。
字体类/创建
共 1 条。
创建字体
- 签名:
通用 创建字体() - 说明:创建一个字体对象。一般直接写「字体类 f」即可(声明时自动创建);「创建字体()」仅在需要显式赋值时使用。
字体类/方法
共 16 条。
置名称
- 签名:
逻辑 置名称([文本 字体名="Microsoft YaHei UI"]) - 说明:设置字体族名称;无参恢复默认雅黑。
- 参数一│[文本 字体名=”Microsoft YaHei UI”]
取名称
- 签名:
文本 取名称() - 说明:取当前字体族名称。
置字号
- 签名:
逻辑 置字号([整数 像素=12]) - 说明:设置字号(像素);无参默认 12。
- 参数一│[整数 像素=12]
取字号
- 签名:
整数 取字号() - 说明:取当前字号(像素)。
置粗体
- 签名:
逻辑 置粗体([逻辑 是否=假]) - 说明:设置是否粗体;无参默认假。
- 参数一│[逻辑 是否=假]
取粗体
- 签名:
整数 取粗体() - 说明:取是否粗体(0/1)。
置倾斜
- 签名:
逻辑 置倾斜([逻辑 是否=假]) - 说明:设置是否倾斜(斜体);无参默认假。
- 参数一│[逻辑 是否=假]
取倾斜
- 签名:
整数 取倾斜() - 说明:取是否倾斜(0/1)。
置文本色
- 签名:
逻辑 置文本色(文本 颜色) - 说明:设置前景色;空文本表示应用到控件时不改前景。支持 #RRGGBB。
- 参数一│文本 颜色
取文本色
- 签名:
文本 取文本色() - 说明:取当前前景色文本;未设置则为空。
置背景色
- 签名:
逻辑 置背景色(文本 颜色) - 说明:设置背景色;空文本表示应用到控件时不改背景。支持 #RRGGBB。
- 参数一│文本 颜色
取背景色
- 签名:
文本 取背景色() - 说明:取当前背景色文本;未设置则为空。
重置
- 签名:
无 重置() - 说明:恢复默认字体参数。
应用到
- 签名:
逻辑 应用到(文本 控件名) - 说明:将本字体应用到任意组件(字体族/字号/粗体/倾斜/可选前景色背景色)。
- 参数一│文本 控件名: 设计器中的组件名
应用到内容
- 签名:
逻辑 应用到内容(文本 控件名) - 说明:同「应用到」,语义上强调超级文本框正文。
- 参数一│文本 控件名
应用到行号
- 签名:
逻辑 应用到行号(文本 控件名) - 说明:仅作用于超级文本框左侧行号栏(文本色/背景色/字体等)。
- 参数一│文本 控件名: 须为超级文本框
画笔类/创建
共 1 条。
创建画笔
- 签名:
通用 创建画笔() - 说明:创建一个画笔对象。一般直接写「画笔类 pen」即可(首次调用时懒创建);「创建画笔()」仅在需要显式赋值时使用。
画笔类/方法
共 13 条。
置颜色
- 签名:
无 置颜色([文本 颜色="#FFFFFFFF"]) - 说明:设置描边颜色;无参默认白。支持 #AARRGGBB / #RRGGBB。
- 参数一│[文本 颜色=”#FFFFFFFF”]
取颜色
- 签名:
文本 取颜色() - 说明:取当前描边颜色文本。
置宽度
- 签名:
无 置宽度([小数 像素=1]) - 说明:设置线宽(像素);无参默认 1。
- 参数一│[小数 像素=1]
取宽度
- 签名:
小数 取宽度() - 说明:取当前线宽。
置线型
- 签名:
无 置线型([整数 端点=0], [整数 连接=0], [整数 虚线=0]) - 说明:设置端点/连接/虚线;均可省略(默认 0)。
- 参数一│[整数 端点=0]: 0平 1圆 2方
- 参数二│[整数 连接=0]: 0斜接 1圆 2斜角
- 参数三│[整数 虚线=0]: 0实线 1虚线 2点线 3点划线
置端点
- 签名:
无 置端点([整数 样式=0]) - 说明:单独设置线帽;无参默认 0 平。
- 参数一│[整数 样式=0]: 0平 1圆 2方
置连接
- 签名:
无 置连接([整数 样式=0]) - 说明:单独设置连接;无参默认 0 斜接。
- 参数一│[整数 样式=0]: 0斜接 1圆 2斜角
置虚线
- 签名:
无 置虚线([整数 样式=0]) - 说明:单独设置虚线;无参默认 0 实线。
- 参数一│[整数 样式=0]: 0实 1虚 2点 3点划
取端点
- 签名:
整数 取端点() - 说明:取线帽样式(0平/1圆/2方)。
取连接
- 签名:
整数 取连接() - 说明:取连接样式(0斜接/1圆/2斜角)。
取虚线
- 签名:
整数 取虚线() - 说明:取虚线样式(0实/1虚/2点/3点划)。
复制
- 签名:
通用 复制() - 说明:复制一份画笔(独立对象)。
重置
- 签名:
无 重置() - 说明:恢复默认画笔参数。
画刷类/创建
共 1 条。
创建画刷
- 签名:
通用 创建画刷() - 说明:创建一个画刷对象。一般直接写「画刷类 brush」即可(首次调用时懒创建);「创建画刷()」仅在需要显式赋值时使用。
画刷类/方法
共 17 条。
置颜色
- 签名:
无 置颜色([文本 颜色="#FFFF6688"]) - 说明:设为纯色填充;无参默认粉红便于试画。支持 #AARRGGBB / #RRGGBB。
- 参数一│[文本 颜色=”#FFFF6688”]
取颜色
- 签名:
文本 取颜色() - 说明:取当前纯色(渐变模式下仍返回上次纯色缓存)。
置线性渐变
- 签名:
无 置线性渐变([小数 x1=0], [小数 y1=0], [小数 x2=100], [小数 y2=0], [文本 色0="#FFFFFFFF"], [文本 色1="#FF000000"]) - 说明:设为线性渐变填充;参数均可省略。
- 参数│起止点与两端颜色,均可省略
置径向渐变
- 签名:
无 置径向渐变([小数 cx=50], [小数 cy=50], [小数 rx=50], [小数 ry=50], [文本 色0="#FFFFFFFF"], [文本 色1="#FF000000"]) - 说明:设为径向渐变填充;参数均可省略。
- 参数│圆心、半径与两端颜色,均可省略
取模式
- 签名:
整数 取模式() - 说明:0=纯色,1=线性渐变,2=径向渐变。
取渐变X1
- 签名:
小数 取渐变X1() - 说明:线性渐变起点 X。
取渐变Y1
- 签名:
小数 取渐变Y1() - 说明:线性渐变起点 Y。
取渐变X2
- 签名:
小数 取渐变X2() - 说明:线性渐变终点 X。
取渐变Y2
- 签名:
小数 取渐变Y2() - 说明:线性渐变终点 Y。
取渐变圆心X
- 签名:
小数 取渐变圆心X() - 说明:径向渐变圆心 X。
取渐变圆心Y
- 签名:
小数 取渐变圆心Y() - 说明:径向渐变圆心 Y。
取渐变半径X
- 签名:
小数 取渐变半径X() - 说明:径向渐变半径 X。
取渐变半径Y
- 签名:
小数 取渐变半径Y() - 说明:径向渐变半径 Y。
取渐变色0
- 签名:
文本 取渐变色0() - 说明:渐变起始色。
取渐变色1
- 签名:
文本 取渐变色1() - 说明:渐变结束色。
复制
- 签名:
通用 复制() - 说明:复制一份画刷(独立对象)。
重置
- 签名:
无 重置() - 说明:恢复默认画刷(纯色)。
易错对照
| 错误 | 正确 |
|---|---|
| 类型写成「绘制」 | 必须「绘制类」等完整名 |
| 未设画笔就画线 | 先配置画笔/画刷再绘制 |