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 | 颜色 |