1# image_packer_mdk.h 2 3 4## Overview 5 6The **image_packer_mdk.h** file declares the APIs used to pack an image or a PixelMap into a buffer or file. 7 8The packing process is as follows: 9 101. Call **OH_ImagePacker_Create** to create an **ImagePacker** object. 11 122. Call **OH_ImagePacker_InitNative** to convert the **ImagePacker** object to an **ImagePacker_Native** object. 13 143. Call **OH_ImagePacker_PackToData** or **OH_ImagePacker_PackToFile** to pack the source into the target area with the specified packing options. 15 164. Call **OH_ImagePacker_Release** to release an **ImagePacker_Native** object. 17 18**Library**: libimage_packer_ndk.z.so 19 20**File to include**: <multimedia/image_framework/image_packer_mdk.h> 21 22**System capability**: SystemCapability.Multimedia.Image 23 24**Since**: 11 25 26**Related module**: [Image](image.md) 27 28 29## Summary 30 31 32### Structs 33 34| Name| Description| 35| -------- | -------- | 36| struct [ImagePacker_Opts_](_image_packer___opts__.md) | Defines the image packing options. | 37 38 39### Types 40 41| Name| Description| 42| -------- | -------- | 43| typedef struct ImagePacker_Native_ [ImagePacker_Native](image.md#imagepacker_native) | Defines the **ImagePacker** instance at the native layer. | 44| typedef struct [ImagePacker_Opts_](_image_packer___opts__.md) [ImagePacker_Opts](image.md#imagepacker_opts) | Defines the alias of the image packing options. | 45 46 47### Functions 48 49| Name| Description| 50| -------- | -------- | 51| int32_t [OH_ImagePacker_Create](image.md#oh_imagepacker_create) (napi_env env, napi_value \*res) | Obtains an **ImagePacker** object at the JavaScript native layer. | 52| [ImagePacker_Native](image.md#imagepacker_native) \* [OH_ImagePacker_InitNative](image.md#oh_imagepacker_initnative) (napi_env env, napi_value packer) | Converts an **ImagePacker** object at the JavaScript native layer into an **ImagePacker_Native** object. | 53| int32_t [OH_ImagePacker_PackToData](image.md#oh_imagepacker_packtodata) ([ImagePacker_Native](image.md#imagepacker_native) \*native, napi_value source, [ImagePacker_Opts](image.md#imagepacker_opts) \*opts, uint8_t \*outData, size_t \*size) | Packs a **PixelMap** object or an **ImagePacker** object at the JavaScript native layer to a buffer (defined by **outData**) based on the specified **ImagePacker_Opts** struct.| 54| int32_t [OH_ImagePacker_PackToFile](image.md#oh_imagepacker_packtofile) ([ImagePacker_Native](image.md#imagepacker_native) \*native, napi_value source, [ImagePacker_Opts](image.md#imagepacker_opts) \*opts, int fd) | Packs a **PixelMap** object or an **ImagePacker** object at the JavaScript native layer to a file based on the specified **ImagePacker_Opts** struct. | 55| int32_t [OH_ImagePacker_Release](image.md#oh_imagepacker_release) ([ImagePacker_Native](image.md#imagepacker_native) \*native) | Releases an [ImagePacker_Native](image.md#imagepacker_native) object.| 56