forked from aromadev/libaroma
-
Notifications
You must be signed in to change notification settings - Fork 0
Canvas API
Ever-Never edited this page Jul 9, 2018
·
1 revision
grapha API 主要提供画几何图形和贴图的API,其中几何图形是纯算法实现,不需要占用太多的RAM,贴图是根据之前解码出来的图片画到对应的Canvas上的过程,所以大致分为两种.最常用的是后者.
/*
* Function : libaroma_draw_pixel
* Return Value: byte
* Descriptions: draw pixel
*/
byte libaroma_draw_pixel(
LIBAROMA_CANVASP dest,
int dx, int dy,
word color,
byte alpha
);
参数说明
参数 | 说明 |
---|---|
dest | 要被画的画布 |
dx | 被画的位置x坐标 |
dy | 被画的位置y坐标 |
color | 被画位置的颜色 |
alpha | 被画位置的alpha(现在好像没用到) |
/*
* Function : libaroma_draw_rect
* Return Value: byte
* Descriptions: draw rectangle
*/
byte libaroma_draw_rect(
LIBAROMA_CANVASP dst,
int x, int y, int w, int h,
word color, byte alpha);
参数说明
参数 | 说明 |
---|---|
dst | 同上 |
x | 同上 |
y | 同上 |
w | 方块的宽度 |
h | 方块的高度 |
color | 颜色 |
alpha | alpha值 |
/*
* Function : libaroma_draw_circle
* Return Value: byte
* Descriptions: draw filled circle
*/
byte libaroma_draw_circle(
LIBAROMA_CANVASP dst,
word color,
int dx, int dy,
int sz,
byte alpha);
参数说明
参数 | 说明 |
---|---|
dst | 同上 |
color | 颜色 |
dx | 圆心x坐标 |
dy | 圆心y坐标 |
sz | 半径(?) |
alpha | 同上 |
/*
* Function : libaroma_draw_line_width
* Return Value: byte
* Descriptions: draw line with width
*/
byte libaroma_draw_line_width(
LIBAROMA_CANVASP dest,
float x1, float y1, float x2, float y2,
float wd,
word color,
byte alpha,
byte is_mask,
float aliasing);
参数说明
参数 | 说明 |
---|---|
dest | 同上 |
x1 | 第一点的x坐标 |
y1 | 第一点的y坐标 |
x2 | 第二点的x坐标 |
y2 | 第二点的y坐标 |
color | 颜色 |
wd | 线的宽度 |
alpha | 同上 |
is_mask | (暂时没搞明白) |
aliasing | 抗锯齿参数 |
/*
* Function : libaroma_draw_arc
* Return Value: byte
* Descriptions: draw arc into canvas
*/
byte libaroma_draw_arc(
LIBAROMA_CANVASP dest,
float dx, float dy,
float radius_w, float radius_h, float width,
float start_angle, float end_angle,
word color,byte alpha,byte is_mask,float aliasing
);
参数说明
参数 | 说明 |
---|---|
dest | 同上 |
dx | 圆弧的中心坐标x |
dy | 圆弧的中心坐标y |
radius_w | 圆弧的半径宽度 |
radius_h | 圆弧的半径高度 |
width | 圆弧的宽度 |
start_angle | 开始角度(逆时针) |
end_angle | 结束角度 |
color | 同上 |
alpha | 同上 |
is_mask | 同上 |
aliasing | 抗锯齿参数 |
/*
* Function : libaroma_draw_ex2
* Return Value: byte
* Descriptions: canvas drawing
*/
byte libaroma_draw_ex2(
LIBAROMA_CANVASP dst,
LIBAROMA_CANVASP src,
int dx, int dy,
int sx, int sy,
int sw, int sh,
byte draw_flags,
byte opacity,
byte ismask,
word maskcolor
);
参数说明
参数 | 说明 |
---|---|
dst | 同上 |
src | copy的数据源 |
dx | 被copy到的x位置 |
dy | 被copy到的y位置 |
sx | copy的开始x位置 |
sy | copy的开始y位置 |
sw | copy的src 的宽度 |
sh | copy的src 的高度 |
draw_flags | 未知现在 |
opacity | 同上 |
ismask | 同上 |
maskcolor | 颜色 |