Skip to content
This repository has been archived by the owner on Jun 22, 2022. It is now read-only.

02.图形绘制功能

[email protected] edited this page Feb 8, 2020 · 4 revisions

更多的图形绘制文档位于30.图形绘制2

清空画布

每次绘图之前,请先清空画布,否则你的画图内容将会不断叠加。
画布的清空使用Page.Clear,画布背景支持是半透明色。

Page.Clear 参数解说

参数名 类型 说明
[optional] Color Long 清空后填充的背景色,默认为不透明的纯白色。

绘制文本

字体的绘制由GFont进行管理,我们可以通过Page.Writes来调用字体绘制功能。

Page.Writes 参数解说

参数名 类型 说明
text String 绘制在窗口上的文字内容
x Long 绘制在窗口上的横坐标
y Long 绘制在窗口上的纵坐标
[Optional] size Long 绘制文字的大小(以像素为单位)
[Optional] color Long 绘制文字的颜色,请使用argb函数。
[Optional] w Long 绘制文字使用的矩形宽度
[Optional] h Long 绘制文字使用的矩形高度
[Optional] align StringAlignment 绘制文字在矩形中的对齐方式
[Optional] style FontStyle 绘制文字的样式
[Optional] animation Long 使用的动画id
[Optional] BorderColor Long 空心字体轮廓线条的颜色,请使用argb函数。
[Optional] BorderSize Long 空心字体轮廓线条的粗细

StringAlignment 枚举

名称 说明
StringAlignmentNear 0 在矩形中向左对齐
StringAlignmentCenter 1 在矩形中居中对齐
StringAlignmentFar 2 在矩形中向右对齐

FontStyle 枚举

名称 说明
FontStyleRegular 0 普通样式
FontStyleBold 1 加粗
FontStyleItalic 2 倾斜
FontStyleBoldItalic 3 加粗倾斜
FontStyleUnderline 4 下划线
FontStyleStrikeout 8 删除线

绘制基本图形

矩形,椭圆形,圆角矩形则调用Page.Paint进行绘制。

Page.Paint 参数解说

参数名 类型 说明
shape Integer 欲绘制的形状
x Single 绘制在窗口上的横坐标
y Single 绘制在窗口上的纵坐标
w Single 绘制形状的宽(以像素为单位)
h Single 绘制形状的高(以像素为单位)
[Optional] color Long 绘制形状的颜色,请使用argb函数。
[Optional] radius Long 圆角矩形的度数,只在圆角矩形中有效。
[Optional] size Long 形状边框的宽度(以像素为单位)
[Optional] style Integer 绘制方式,0=填充,1=描边
[Optional] pos PosAlign 绘制中心
[Optional] animation Long 使用的动画id

Shape 参数

名称 说明
矩形 0 绘制矩形
椭圆形 1 绘制椭圆形
圆角矩形 2 绘制圆角矩形

PosAlign 枚举

名称 说明
posNormal 0 以提供的坐标为图形的左上角坐标绘制
posOnCenter 1 以提供的坐标为图形的中心坐标绘制
posOnLeft 2 以提供的坐标为图形的左侧中心坐标绘制
posOnTop 3 以提供的坐标为图形的顶部中心坐标绘制
posOnRight 4 以提供的坐标为图形的右侧中心坐标绘制
posOnBottom 5 以提供的坐标为图形的底部中心坐标绘制

绘制图片

Emerald提供了两种绘制图形的方式,他们分别由Page.DrawImage Page.DrawImageEx提供。
Page.DrawImage使用GDI进行绘图,速度较快,在Emerald中支持不透明度和图形翻转,但是不支持缩放。
Page.DrawImageEx使用GDI+进行绘图,速度中等,在Emerald中支持缩放,但是不支持不透明度和图形翻转。

Page.DrawImage 参数解说

参数名 类型 说明
n 当你传入的值为String类型时,将会在资源树中以提供的文件名查找指定的资源后再绘制;当你传入的值为其他类型时,将会把传入的值视为在资源树中资源的编号,直接绘制
x Long 绘制在窗口上的横坐标
y Long 绘制在窗口上的纵坐标
[Optional] cx Long 裁剪矩形的横坐标
[Optional] cy Long 裁剪矩形的纵坐标
[Optional] cw Long 裁剪矩形的宽度
[Optional] ch Long 裁剪矩形的高度
[Optional] alpha Single 绘制图片的不透明度,如果绘制的图片含有半透明的部分,则此参数是必须的。
[Optional] style Integer 绘制方式,0=填充,1=描边
[Optional] pos PosAlign 绘制中心
[Optional] animation Long 使用的动画id
[Optional] direction ImgDirection 图形翻转方向

ImgDirection 枚举

名称 说明
DirNormal 0 普通
DirHorizontal 1 水平翻转
DirVertical 2 垂直翻转
DirHorizontalVertical 3 水平翻转并垂直翻转

PosAlign 枚举

同上

Page.DrawImageEx 参数解说

参数名 类型 说明
n 当你传入的值为String类型时,将会在资源树中以提供的文件名查找指定的资源后再绘制;当你传入的值为其他类型时,将会把传入的值视为在资源树中资源的编号,直接绘制
x Single 绘制在窗口上的横坐标
y Single 绘制在窗口上的纵坐标
[Optional] w Long 绘制图片的宽度,默认为图片加载时的宽度
[Optional] h Long 绘制图片的高度,默认为图片加载时的高度
[Optional] pos PosAlign 绘制中心
[Optional] animation Long 使用的动画id

PosAlign 枚举

同上