SKYENGINE API 参考手册返回目录 |
(int32 code =
3002,
int32 mr_platEx
uint8* input,
int32 input_len,
uint8** output,
int32* output_len,
MR_PLAT_EX_CB*
cb
)
Description
解码一张图片,将解完的数据放到dest所指的buf中,并通知vm解码结果。(gif不在此中处理)。
Parameters
Name
Description
input
MRAPP_IMAGE_DECODE_T数据结构指针
input_len
MRAPP_IMAGE_DECODE_T数据结构大小
output
无
output_len
无
cb
无
MR_SUCCESS 成功
MR_FAILED 失败
MR_WAITING 异步模式,需要使用命令轮询以获取状态
MR_IGNORE 不支持该功能
(注1:特殊平台可能有特殊返回值处理,当前不做考虑)
MRAPP_IMAGE_DECODE_T数据结构:
typedef struct
{
char *src; //当type为SRC_STREAM时,此参数为图片数据流buffer;当type为SRC_NAME时,此参数为图片相对路径
int32 len; //当type为SRC_STREAM时,此参数为图片数据流buffer大小;当type为SRC_NAME时,此参数为0
int32 width; //图片宽度
int32 height; //图片高度
int32 src_type; // 枚举MRAPP_SRC_TYPE
char *dest; //rgb565 bmp格式(注1)
} MRAPP_IMAGE_DECODE_T;
typedef enum
{
SRC_NAME = 0, //传到移植接口的是文件名
SRC_STREAM //传到移植接口的是图片数据流
}MRAPP_SRC_TYPE;
/*mrp code*/
#define PNG_IMAGE "OATfile\\pic_test\\image.png"
U8 imagebuffer[100*100];
MRAPP_IMAGE_DECODE_T decodeReq = {0};
memset( imagebuffer, 0, sizeof(imagebuffer) );
decodeReq.src = (char *)PNG_IMAGE;
decodeReq.src_type = SRC_NAME;
decodeReq.width = 24;
decodeReq.height = 24;
decodeReq.dest = (char*)imagebuffer;mrc_platEx( 3002, (uint8* )&decodeReq, sizeof(MRAPP_IMAGE_DECODE_T), NULL, NULL, NULL );