• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# image_packer_mdk.h
2<!--Kit: Image Kit-->
3<!--Subsystem: Multimedia-->
4<!--Owner: @aulight02-->
5<!--Designer: @liyang_bryan-->
6<!--Tester: @xchaosioda-->
7<!--Adviser: @zengyawen-->
8
9## 概述
10
11声明用于将图像编码到缓冲区或文件的api。可用于将像素数据编码到目标缓冲区或文件中。
12
13编码过程如下:
14
15通过OH_ImagePacker_Create方法创建编码器实例对象。
16
17然后通过OH_ImagePacker_InitNative将编码器实例对象转换为编码器原生实例对象。
18
19接下来用OH_ImagePacker_PackToData或者OH_ImagePacker_PackToFile将源以特定的编码选项编码进目标区域。
20
21最后通过OH_ImagePacker_Release释放编码器实例对象。
22
23**引用文件:** <multimedia/image_framework/image_packer_mdk.h>
24
25**库:** libimage_packer_ndk.z.so
26
27**系统能力:** SystemCapability.Multimedia.Image.Core
28
29**起始版本:** 11
30
31**相关模块:** [Image](capi-image.md)
32
33## 汇总
34
35### 结构体
36
37| 名称 | typedef关键字 | 描述 |
38| -- | -- | -- |
39| [ImagePacker_Opts_](capi-image-imagepacker-opts-.md) | ImagePacker_Opts | 定义图像编码选项信息。 |
40| [ImagePacker_Native_](capi-image-imagepacker-native-.md) | ImagePacker_Native | 为编码器方法定义native层编码器对象。 |
41
42### 函数
43
44| 名称 | 描述 |
45| -- | -- |
46| [int32_t OH_ImagePacker_Create(napi_env env, napi_value *res)](#oh_imagepacker_create) | 获取JavaScript native层ImagePacker对象。 |
47| [ImagePacker_Native* OH_ImagePacker_InitNative(napi_env env, napi_value packer)](#oh_imagepacker_initnative) | 从输入JavaScript native层ImagePacker对象中,转换成ImagePacker_Native值。 |
48| [int32_t OH_ImagePacker_PackToData(ImagePacker_Native* native, napi_value source,ImagePacker_Opts* opts, uint8_t* outData, size_t* size)](#oh_imagepacker_packtodata) | 通过一个给定的选项ImagePacker_Opts结构体,将输入JavaScript native层PixelMap对象或者ImageSource对象编码并输出到指定的缓存区outData中。 |
49| [int32_t OH_ImagePacker_PackToFile(ImagePacker_Native* native, napi_value source, ImagePacker_Opts* opts, int fd)](#oh_imagepacker_packtofile) | 通过一个给定的选项ImagePacker_Opts结构体,将输入JavaScript native层PixelMap对象或者ImageSource对象编码并输出到指定的文件中。 |
50| [int32_t OH_ImagePacker_Release(ImagePacker_Native* native)](#oh_imagepacker_release) | 释放native层编码器对象[ImagePacker_Native](capi-image-imagepacker-native-.md)。<br>此API不用于释放JavaScript原生API ImagePacker对象,它用于释放native层对象ImagePacker_Native。 |
51
52## 函数说明
53
54### OH_ImagePacker_Create()
55
56```
57int32_t OH_ImagePacker_Create(napi_env env, napi_value *res)
58```
59
60**描述**
61
62获取JavaScript native层ImagePacker对象。
63
64**起始版本:** 11
65
66
67**参数:**
68
69| 参数项 | 描述 |
70| -- | -- |
71| napi_env env | 表明JNI环境的指针。 |
72| napi_value *res | 表明JavaScript native层ImagePacker对象的指针。 |
73
74**返回:**
75
76| 类型 | 说明 |
77| -- | -- |
78| int32_t | [IRNdkErrCode](capi-image-mdk-common-h.md#irndkerrcode):<br>IMAGE_RESULT_SUCCESS:执行成功。<br>IMAGE_RESULT_INVALID_PARAMETER:参数无效。 |
79
80### OH_ImagePacker_InitNative()
81
82```
83ImagePacker_Native* OH_ImagePacker_InitNative(napi_env env, napi_value packer)
84```
85
86**描述**
87
88从输入JavaScript native层ImagePacker对象中,转换成ImagePacker_Native值。
89
90**起始版本:** 11
91
92
93**参数:**
94
95| 参数项 | 描述 |
96| -- | -- |
97| napi_env env | 表明JNI环境的指针。 |
98| napi_value packer | 表明JavaScript native层ImagePacker对象。 |
99
100**返回:**
101
102| 类型 | 说明 |
103| -- | -- |
104| [ImagePacker_Native](capi-image-imagepacker-native-.md)* | 如果操作成功则返回ImagePacker_Native指针,否则返回空指针。 |
105
106**参考:**
107
108[OH_ImagePacker_Release](#oh_imagepacker_release)
109
110### OH_ImagePacker_PackToData()
111
112```
113int32_t OH_ImagePacker_PackToData(ImagePacker_Native* native, napi_value source,ImagePacker_Opts* opts, uint8_t* outData, size_t* size)
114```
115
116**描述**
117
118通过一个给定的选项ImagePacker_Opts结构体,将输入JavaScript native层PixelMap对象或者ImageSource对象编码并输出到指定的缓存区outData中。
119
120**起始版本:** 11
121
122
123**参数:**
124
125| 参数项 | 描述 |
126| -- | -- |
127| [ImagePacker_Native](capi-image-imagepacker-native-.md)* native | 表明指向native层ImagePacker的指针。 |
128| napi_value source | 表明待编码JavaScript native层PixelMap对象或者ImageSource对象。 |
129| [ImagePacker_Opts](capi-image-imagepacker-opts-.md)* opts | 表明位图编码的选项。 |
130| uint8_t* outData | 输出的指定缓存区。 |
131| size_t* size | 输出的指定缓存区大小。 |
132
133**返回:**
134
135| 类型 | 说明 |
136| -- | -- |
137| int32_t | [IRNdkErrCode](capi-image-mdk-common-h.md#irndkerrcode):<br>IMAGE_RESULT_SUCCESS:执行成功。<br>  IMAGE_RESULT_INVALID_PARAMETER:参数无效。<br> ERR_IMAGE_DATA_ABNORMAL:输出缓冲区异常。<br>  ERR_IMAGE_MISMATCHED_FORMAT:格式不匹配。<br>  ERR_IMAGE_MALLOC_ABNORMAL:malloc内部缓冲区错误。<br>  ERR_IMAGE_DECODE_ABNORMAL:init编解码器内部错误。<br>ERR_IMAGE_ENCODE_FAILED:编码器在编码过程中出现错误。 |
138
139**参考:**
140
141[OH_ImagePacker_PackToFile](#oh_imagepacker_packtofile)
142
143### OH_ImagePacker_PackToFile()
144
145```
146int32_t OH_ImagePacker_PackToFile(ImagePacker_Native* native, napi_value source,ImagePacker_Opts* opts, int fd)
147```
148
149**描述**
150
151通过一个给定的选项ImagePacker_Opts结构体,将输入JavaScript native层PixelMap对象或者ImageSource对象编码并输出到指定的文件中。
152
153**起始版本:** 11
154
155
156**参数:**
157
158| 参数项 | 描述 |
159| -- | -- |
160| [ImagePacker_Native](capi-image-imagepacker-native-.md)* native | 表明指向native层ImagePacker的指针。 |
161| napi_value source | 表明待编码JavaScript native层PixelMap对象或者ImageSource对象。 |
162| [ImagePacker_Opts](capi-image-imagepacker-opts-.md)* opts | 表明位图编码的选项。 |
163| int fd | 输出的指定文件描述符。 |
164
165**返回:**
166
167| 类型 | 说明 |
168| -- | -- |
169| int32_t | [IRNdkErrCode](capi-image-mdk-common-h.md#irndkerrcode):<br>IMAGE_RESULT_SUCCESS:执行成功。<br>  IMAGE_RESULT_INVALID_PARAMETER:参数无效。<br> ERR_IMAGE_DATA_ABNORMAL:输出缓冲区异常。<br>  ERR_IMAGE_MISMATCHED_FORMAT:格式不匹配。<br>  ERR_IMAGE_MALLOC_ABNORMAL:malloc内部缓冲区错误。<br>  ERR_IMAGE_DECODE_ABNORMAL:init编解码器内部错误。<br>ERR_IMAGE_ENCODE_FAILED:编码器在编码过程中出现错误。 |
170
171**参考:**
172
173[OH_ImagePacker_PackToData](#oh_imagepacker_packtodata)
174
175### OH_ImagePacker_Release()
176
177```
178int32_t OH_ImagePacker_Release(ImagePacker_Native* native)
179```
180
181**描述**
182
183释放native层编码器对象[ImagePacker_Native](capi-image-imagepacker-native-.md)。
184
185此API不用于释放JavaScript原生API ImagePacker对象,它用于释放native层对象ImagePacker_Native。
186
187通过调用[OH_ImagePacker_InitNative](#oh_imagepacker_initnative)解析。
188
189**起始版本:** 11
190
191
192**参数:**
193
194| 参数项 | 描述 |
195| -- | -- |
196| [ImagePacker_Native](capi-image-imagepacker-native-.md)* native | 表明native层ImagePacker_Native值的指针。 |
197
198**返回:**
199
200| 类型 | 说明 |
201| -- | -- |
202| int32_t | [IRNdkErrCode](capi-image-mdk-common-h.md#irndkerrcode):<br>IMAGE_RESULT_SUCCESS:执行成功。 |
203
204**参考:**
205
206[OH_ImagePacker_InitNative](#oh_imagepacker_initnative)
207
208
209