forked from aromadev/libaroma
-
Notifications
You must be signed in to change notification settings - Fork 0
Image API
Ever-Never edited this page Jul 9, 2018
·
1 revision
Image API 使用的前提是你需要从上一步的resource API读取一个流,然后从流里面解码一张图片,流的释放,和图片资源的释放,需要自己把握,现阶段支持png svg 解码,但是建议使用png图片.会根据流文件的头三字节选择合适的解码逻辑
常用API列表
/*
* Function : libaroma_image_ex
* Return Value: LIBAROMA_CANVASP
* Descriptions: read image by file signature - extended
*/
LIBAROMA_CANVASP libaroma_image_ex(
LIBAROMA_STREAMP stream,
byte freeStream,
byte hicolor);
/* libaroma_image_ex aliases */
#define libaroma_image(stream, freeStream) \
libaroma_image_ex(stream, freeStream, 0)
#define libaroma_image_uri_ex(uri,hicolor) \
libaroma_image_ex(libaroma_stream(uri), 1, hicolor)
#define libaroma_image_uri(uri) \
libaroma_image_ex(libaroma_stream(uri), 1, 0)
#define libaroma_image_zip(path, zpath, hicolor) \
libaroma_image_ex(libaroma_stream_zip(path,zpath),1,hicolor)
#define libaroma_image_mzip(zip, zpath, hicolor) \
libaroma_image_ex(libaroma_stream_mzip(zip,zpath),1,hicolor)
#define libaroma_image_file(filepath, hicolor) \
libaroma_image_ex(libaroma_stream_file(filepath),1,hicolor)
其中最根本的API
/*
* Function : libaroma_image_ex
* Return Value: LIBAROMA_CANVASP
* Descriptions: read image by file signature - extended
*/
LIBAROMA_CANVASP libaroma_image_ex(
LIBAROMA_STREAMP stream,
byte freeStream,
byte hicolor);
参数说明
参数 | 说明 |
---|---|
stream | 流指针 |
freeStream | 是否释放流(一次使用传1 ,多次合适时机释放) |
hicolor | RGB888 时候用,现在传0 |
返回值
类型 | 说明 |
---|---|
LIBAROMA_CANVASP | 可能为NULL,用过之后记得释放. |
例子
LIBAROMA_STREAMP stream = libaroma_stream_mem((bytep)res_get(RES_INDEX_RUN_BIKE),res_get_length(RES_INDEX_RUN_BIKE)) ;
list_icon = libaroma_image_ex(stream,1,0) ;