1# image_packer_native.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**引用文件:** <multimedia/image_framework/image/image_packer_native.h> 14 15**库:** libimage_packer.so 16 17**系统能力:** SystemCapability.Multimedia.Image.ImagePacker 18 19**起始版本:** 12 20 21**相关模块:** [Image_NativeModule](capi-image-nativemodule.md) 22 23## 汇总 24 25### 结构体 26 27| 名称 | typedef关键字 | 描述 | 28| -- | -- | -- | 29| [OH_ImagePackerNative](capi-image-nativemodule-oh-imagepackernative.md) | OH_ImagePackerNative | ImagePacker结构体类型,用于执行ImagePacker相关操作。 | 30| [OH_PackingOptions](capi-image-nativemodule-oh-packingoptions.md) | OH_PackingOptions | OH_PackingOptions是native层封装的图像编码选项结构体,OH_PackingOptions结构体不可直接操作,而是采用函数调用方式创建、释放结构体以及操作具体字段。 | 31| [OH_PackingOptionsForSequence](capi-image-nativemodule-oh-packingoptionsforsequence.md) | OH_PackingOptionsForSequence | 图像序列编码选项。 | 32 33### 枚举 34 35| 名称 | typedef关键字 | 描述 | 36| -- | -- | -- | 37| [IMAGE_PACKER_DYNAMIC_RANGE](#image_packer_dynamic_range) | IMAGE_PACKER_DYNAMIC_RANGE | 编码指定动态范围。 | 38 39### 函数 40 41| 名称 | 描述 | 42| -- | -- | 43| [Image_ErrorCode OH_PackingOptions_Create(OH_PackingOptions **options)](#oh_packingoptions_create) | 创建PackingOptions结构体的指针。 | 44| [Image_ErrorCode OH_PackingOptions_GetMimeType(OH_PackingOptions *options, Image_MimeType *format)](#oh_packingoptions_getmimetype) | 获取MIME类型。 | 45| [Image_ErrorCode OH_PackingOptions_GetMimeTypeWithNull(OH_PackingOptions *options, Image_MimeType *format)](#oh_packingoptions_getmimetypewithnull) | 获取编解码参数中的MIME类型。输出的format.data以字符串结束符结尾。 | 46| [Image_ErrorCode OH_PackingOptions_SetMimeType(OH_PackingOptions *options, Image_MimeType *format)](#oh_packingoptions_setmimetype) | 设置MIME类型。 | 47| [Image_ErrorCode OH_PackingOptions_GetQuality(OH_PackingOptions *options, uint32_t *quality)](#oh_packingoptions_getquality) | 获取编码质量。 | 48| [Image_ErrorCode OH_PackingOptions_SetQuality(OH_PackingOptions *options, uint32_t quality)](#oh_packingoptions_setquality) | 设置编码质量。 | 49| [ Image_ErrorCode OH_PackingOptions_GetNeedsPackProperties(OH_PackingOptions *options, bool *needsPackProperties)](#oh_packingoptions_getneedspackproperties) | 获取OH_PackingOptions结构体的needsPackProperties参数。 | 50| [Image_ErrorCode OH_PackingOptions_SetNeedsPackProperties(OH_PackingOptions *options, bool needsPackProperties)](#oh_packingoptions_setneedspackproperties) | 设置OH_PackingOptions结构体的needsPackProperties参数。 | 51| [Image_ErrorCode OH_PackingOptions_GetDesiredDynamicRange(OH_PackingOptions *options, int32_t* desiredDynamicRange)](#oh_packingoptions_getdesireddynamicrange) | 获取编码时期望的图片动态范围。 | 52| [Image_ErrorCode OH_PackingOptions_SetDesiredDynamicRange(OH_PackingOptions *options, int32_t desiredDynamicRange)](#oh_packingoptions_setdesireddynamicrange) | 设置编码时期望的图片动态范围。 | 53| [Image_ErrorCode OH_PackingOptions_Release(OH_PackingOptions *options)](#oh_packingoptions_release) | 释放OH_PackingOptions指针。 | 54| [Image_ErrorCode OH_PackingOptionsForSequence_Create(OH_PackingOptionsForSequence **options)](#oh_packingoptionsforsequence_create) | 创建OH_PackingOptionsForSequence结构体的指针。 | 55| [Image_ErrorCode OH_PackingOptionsForSequence_SetFrameCount(OH_PackingOptionsForSequence *options, uint32_t frameCount)](#oh_packingoptionsforsequence_setframecount) | 设置编码时指定的帧数。 | 56| [Image_ErrorCode OH_PackingOptionsForSequence_GetFrameCount(OH_PackingOptionsForSequence *options, uint32_t *frameCount)](#oh_packingoptionsforsequence_getframecount) | 获取编码时指定的帧数。 | 57| [Image_ErrorCode OH_PackingOptionsForSequence_SetDelayTimeList(OH_PackingOptionsForSequence *options, int32_t *delayTimeList, size_t delayTimeListLength)](#oh_packingoptionsforsequence_setdelaytimelist) | 设定编码时图片的延迟时间数组。 | 58| [Image_ErrorCode OH_PackingOptionsForSequence_GetDelayTimeList(OH_PackingOptionsForSequence *options, int32_t *delayTimeList, size_t delayTimeListLength)](#oh_packingoptionsforsequence_getdelaytimelist) | 获取编码时图片的延迟时间数组。 | 59| [Image_ErrorCode OH_PackingOptionsForSequence_SetDisposalTypes(OH_PackingOptionsForSequence *options, uint32_t *disposalTypes, size_t disposalTypesLength)](#oh_packingoptionsforsequence_setdisposaltypes) | 设定编码时图片的过渡帧模式数组。 | 60| [Image_ErrorCode OH_PackingOptionsForSequence_GetDisposalTypes(OH_PackingOptionsForSequence *options, uint32_t *disposalTypes, size_t disposalTypesLength)](#oh_packingoptionsforsequence_getdisposaltypes) | 获取编码时图片的过渡帧模式数组。 | 61| [Image_ErrorCode OH_PackingOptionsForSequence_SetLoopCount(OH_PackingOptionsForSequence *options, uint32_t loopCount)](#oh_packingoptionsforsequence_setloopcount) | 设定编码时图片循环播放次数,取值范围为[0,65535],0表示无限循环;若无此字段,则表示不循环播放。 | 62| [Image_ErrorCode OH_PackingOptionsForSequence_GetLoopCount(OH_PackingOptionsForSequence *options, uint32_t *loopCount)](#oh_packingoptionsforsequence_getloopcount) | 获取编码时图片循环播放次数。 | 63| [Image_ErrorCode OH_PackingOptionsForSequence_Release(OH_PackingOptionsForSequence *options)](#oh_packingoptionsforsequence_release) | 释放OH_PackingOptionsForSequence指针。 | 64| [Image_ErrorCode OH_ImagePackerNative_Create(OH_ImagePackerNative **imagePacker)](#oh_imagepackernative_create) | 创建OH_ImagePackerNative指针。 | 65| [Image_ErrorCode OH_ImagePackerNative_PackToDataFromImageSource(OH_ImagePackerNative *imagePacker, OH_PackingOptions *options, OH_ImageSourceNative *imageSource, uint8_t *outData, size_t *size)](#oh_imagepackernative_packtodatafromimagesource) | 将ImageSource编码为指定格式的数据。 | 66| [Image_ErrorCode OH_ImagePackerNative_PackToDataFromPixelmap(OH_ImagePackerNative *imagePacker, OH_PackingOptions *options, OH_PixelmapNative *pixelmap, uint8_t *outData, size_t *size)](#oh_imagepackernative_packtodatafrompixelmap) | 将Pixelmap编码为指定格式的数据。 | 67| [Image_ErrorCode OH_ImagePackerNative_PackToDataFromPicture(OH_ImagePackerNative *imagePacker, OH_PackingOptions *options, OH_PictureNative *picture, uint8_t *outData, size_t *size)](#oh_imagepackernative_packtodatafrompicture) | 将Picture编码为指定格式的数据。 | 68| [Image_ErrorCode OH_ImagePackerNative_PackToDataFromPixelmapSequence(OH_ImagePackerNative *imagePacker, OH_PackingOptionsForSequence *options, OH_PixelmapNative **pixelmapSequence,size_t sequenceLength, uint8_t *outData, size_t *outDataSize)](#oh_imagepackernative_packtodatafrompixelmapsequence) | 将Pixelmap序列编码为数据。 | 69| [Image_ErrorCode OH_ImagePackerNative_PackToFileFromImageSource(OH_ImagePackerNative *imagePacker, OH_PackingOptions *options, OH_ImageSourceNative *imageSource, int32_t fd)](#oh_imagepackernative_packtofilefromimagesource) | 将一个ImageSource编码到文件中。 | 70| [Image_ErrorCode OH_ImagePackerNative_PackToFileFromPixelmap(OH_ImagePackerNative *imagePacker, OH_PackingOptions *options, OH_PixelmapNative *pixelmap, int32_t fd)](#oh_imagepackernative_packtofilefrompixelmap) | 将一个Pixelmap编码到文件中。 | 71| [Image_ErrorCode OH_ImagePackerNative_PackToFileFromPicture(OH_ImagePackerNative *imagePacker, OH_PackingOptions *options, OH_PictureNative *picture, int32_t fd)](#oh_imagepackernative_packtofilefrompicture) | 将一个Picture编码到文件中。 | 72| [Image_ErrorCode OH_ImagePackerNative_PackToFileFromPixelmapSequence(OH_ImagePackerNative *imagePacker, OH_PackingOptionsForSequence *options, OH_PixelmapNative **pixelmapSequence, size_t sequenceLength, int32_t fd)](#oh_imagepackernative_packtofilefrompixelmapsequence) | 将一个Pixelmap序列编码到文件中。 | 73| [Image_ErrorCode OH_ImagePackerNative_GetSupportedFormats(Image_MimeType **supportedFormats, size_t *length)](#oh_imagepackernative_getsupportedformats) | 获取支持编码的图片格式。 | 74| [Image_ErrorCode OH_ImagePackerNative_Release(OH_ImagePackerNative *imagePacker)](#oh_imagepackernative_release) | 释放OH_ImagePackerNative指针。 | 75 76## 枚举类型说明 77 78### IMAGE_PACKER_DYNAMIC_RANGE 79 80``` 81enum IMAGE_PACKER_DYNAMIC_RANGE 82``` 83 84**描述** 85 86编码指定动态范围。 87 88**起始版本:** 12 89 90| 枚举项 | 描述 | 91| -- | -- | 92| IMAGE_PACKER_DYNAMIC_RANGE_AUTO = 0 | 编码动态范围根据图像信息自适应。 | 93| IMAGE_PACKER_DYNAMIC_RANGE_SDR = 1 | 编码图片为标准动态范围。 | 94 95 96## 函数说明 97 98### OH_PackingOptions_Create() 99 100``` 101Image_ErrorCode OH_PackingOptions_Create(OH_PackingOptions **options) 102``` 103 104**描述** 105 106创建PackingOptions结构体的指针。 107 108**起始版本:** 12 109 110 111**参数:** 112 113| 参数项 | 描述 | 114| -- | -- | 115| [OH_PackingOptions](capi-image-nativemodule-oh-packingoptions.md) **options | 用于操作的PackingOptions指针。 | 116 117**返回:** 118 119| 类型 | 说明 | 120| -- | -- | 121| [Image_ErrorCode](capi-image-common-h.md#image_errorcode) | IMAGE_SUCCESS:执行成功。<br>IMAGE_BAD_PARAMETER:参数错误。 | 122 123### OH_PackingOptions_GetMimeType() 124 125``` 126Image_ErrorCode OH_PackingOptions_GetMimeType(OH_PackingOptions *options,Image_MimeType *format) 127``` 128 129**描述** 130 131获取MIME类型。 132 133**起始版本:** 12 134 135 136**参数:** 137 138| 参数项 | 描述 | 139| -- | -- | 140| [OH_PackingOptions](capi-image-nativemodule-oh-packingoptions.md) *options | 被操作的OH_PackingOptions指针。 | 141| [Image_MimeType](capi-image-nativemodule-image-string.md) *format | 图像格式。可传入一个空指针和零大小,系统将分配内存,但必须在使用后释放内存。 | 142 143**返回:** 144 145| 类型 | 说明 | 146| -- | -- | 147| [Image_ErrorCode](capi-image-common-h.md#image_errorcode) | IMAGE_SUCCESS:执行成功。<br>IMAGE_BAD_PARAMETER:参数错误。 | 148 149### OH_PackingOptions_GetMimeTypeWithNull() 150 151``` 152Image_ErrorCode OH_PackingOptions_GetMimeTypeWithNull(OH_PackingOptions *options,Image_MimeType *format) 153``` 154 155**描述** 156 157获取编解码参数中的MIME类型。输出的format.data以字符串结束符结尾。 158 159**起始版本:** 19 160 161 162**参数:** 163 164| 参数项 | 描述 | 165| -- | -- | 166| [OH_PackingOptions](capi-image-nativemodule-oh-packingoptions.md) *options | 编码参数指针。 | 167| [Image_MimeType](capi-image-nativemodule-image-string.md) *format | 编码参数中的 MIME 类型的指针。 | 168 169**返回:** 170 171| 类型 | 说明 | 172| -- | -- | 173| [Image_ErrorCode](capi-image-common-h.md#image_errorcode) | IMAGE_SUCCESS:执行成功。<br> IMAGE_PACKER_INVALID_PARAMETER:options或format为空。 | 174 175### OH_PackingOptions_SetMimeType() 176 177``` 178Image_ErrorCode OH_PackingOptions_SetMimeType(OH_PackingOptions *options,Image_MimeType *format) 179``` 180 181**描述** 182 183设置MIME类型。 184 185**起始版本:** 12 186 187 188**参数:** 189 190| 参数项 | 描述 | 191| -- | -- | 192| [OH_PackingOptions](capi-image-nativemodule-oh-packingoptions.md) *options | 被操作的OH_PackingOptions指针。 | 193| [Image_MimeType](capi-image-nativemodule-image-string.md) *format | 图像格式。 | 194 195**返回:** 196 197| 类型 | 说明 | 198| -- | -- | 199| [Image_ErrorCode](capi-image-common-h.md#image_errorcode) | IMAGE_SUCCESS:执行成功。<br>IMAGE_BAD_PARAMETER:参数错误。 | 200 201### OH_PackingOptions_GetQuality() 202 203``` 204Image_ErrorCode OH_PackingOptions_GetQuality(OH_PackingOptions *options,uint32_t *quality) 205``` 206 207**描述** 208 209获取编码质量。 210 211**起始版本:** 12 212 213 214**参数:** 215 216| 参数项 | 描述 | 217| -- | -- | 218| [OH_PackingOptions](capi-image-nativemodule-oh-packingoptions.md) *options | 被操作的OH_PackingOptions指针。 | 219| uint32_t *quality | 编码质量。 | 220 221**返回:** 222 223| 类型 | 说明 | 224| -- | -- | 225| [Image_ErrorCode](capi-image-common-h.md#image_errorcode) | IMAGE_SUCCESS:执行成功。<br>IMAGE_BAD_PARAMETER:参数错误。 | 226 227### OH_PackingOptions_SetQuality() 228 229``` 230Image_ErrorCode OH_PackingOptions_SetQuality(OH_PackingOptions *options,uint32_t quality) 231``` 232 233**描述** 234 235设置编码质量。 236 237**起始版本:** 12 238 239 240**参数:** 241 242| 参数项 | 描述 | 243| -- | -- | 244| [OH_PackingOptions](capi-image-nativemodule-oh-packingoptions.md) *options | 被操作的OH_PackingOptions指针。 | 245| uint32_t quality | 编码质量。 | 246 247**返回:** 248 249| 类型 | 说明 | 250| -- | -- | 251| [Image_ErrorCode](capi-image-common-h.md#image_errorcode) | IMAGE_SUCCESS:执行成功。<br>IMAGE_BAD_PARAMETER:参数错误。 | 252 253### OH_PackingOptions_GetNeedsPackProperties() 254 255``` 256 Image_ErrorCode OH_PackingOptions_GetNeedsPackProperties(OH_PackingOptions *options,bool *needsPackProperties) 257``` 258 259**描述** 260 261获取OH_PackingOptions结构体的needsPackProperties参数。 262 263**起始版本:** 12 264 265 266**参数:** 267 268| 参数项 | 描述 | 269| -- | -- | 270| [OH_PackingOptions](capi-image-nativemodule-oh-packingoptions.md) *options | 被操作的OH_PackingOptions指针。 | 271| bool *needsPackProperties | 是否需要编码图片属性信息,例如EXIF。 | 272 273**返回:** 274 275| 类型 | 说明 | 276| -- | -- | 277| [Image_ErrorCode](capi-image-common-h.md#image_errorcode) | IMAGE_SUCCESS:执行成功。<br>IMAGE_BAD_PARAMETER:参数错误。 | 278 279### OH_PackingOptions_SetNeedsPackProperties() 280 281``` 282Image_ErrorCode OH_PackingOptions_SetNeedsPackProperties(OH_PackingOptions *options,bool needsPackProperties) 283``` 284 285**描述** 286 287设置OH_PackingOptions结构体的needsPackProperties参数。 288 289**起始版本:** 12 290 291 292**参数:** 293 294| 参数项 | 描述 | 295| -- | -- | 296| [OH_PackingOptions](capi-image-nativemodule-oh-packingoptions.md) *options | 被操作的OH_PackingOptions指针。 | 297| bool needsPackProperties | 是否需要编码图片属性信息,例如EXIF。 | 298 299**返回:** 300 301| 类型 | 说明 | 302| -- | -- | 303| [Image_ErrorCode](capi-image-common-h.md#image_errorcode) | IMAGE_SUCCESS:执行成功。<br>IMAGE_BAD_PARAMETER:参数错误。 | 304 305### OH_PackingOptions_GetDesiredDynamicRange() 306 307``` 308Image_ErrorCode OH_PackingOptions_GetDesiredDynamicRange(OH_PackingOptions *options, int32_t* desiredDynamicRange) 309``` 310 311**描述** 312 313获取编码时期望的图片动态范围。 314 315**起始版本:** 12 316 317 318**参数:** 319 320| 参数项 | 描述 | 321| -- | -- | 322| [OH_PackingOptions](capi-image-nativemodule-oh-packingoptions.md) *options | 被操作的OH_PackingOptions指针。 | 323| int32_t* desiredDynamicRange | 期望的动态范围[IMAGE_PACKER_DYNAMIC_RANGE]#image_packer_dynamic_range)。 | 324 325**返回:** 326 327| 类型 | 说明 | 328| -- | -- | 329| [Image_ErrorCode](capi-image-common-h.md#image_errorcode) | IMAGE_SUCCESS:执行成功。<br>IMAGE_BAD_PARAMETER:参数错误。 | 330 331### OH_PackingOptions_SetDesiredDynamicRange() 332 333``` 334Image_ErrorCode OH_PackingOptions_SetDesiredDynamicRange(OH_PackingOptions *options, int32_t desiredDynamicRange) 335``` 336 337**描述** 338 339设置编码时期望的图片动态范围。 340 341**起始版本:** 12 342 343 344**参数:** 345 346| 参数项 | 描述 | 347| -- | -- | 348| [OH_PackingOptions](capi-image-nativemodule-oh-packingoptions.md) *options | 被操作的OH_PackingOptions指针。 | 349| int32_t desiredDynamicRange | 期望的动态范围[IMAGE_PACKER_DYNAMIC_RANGE]#image_packer_dynamic_range)。 | 350 351**返回:** 352 353| 类型 | 说明 | 354| -- | -- | 355| [Image_ErrorCode](capi-image-common-h.md#image_errorcode) | IMAGE_SUCCESS:执行成功。<br>IMAGE_BAD_PARAMETER:参数错误。 | 356 357### OH_PackingOptions_Release() 358 359``` 360Image_ErrorCode OH_PackingOptions_Release(OH_PackingOptions *options) 361``` 362 363**描述** 364 365释放OH_PackingOptions指针。 366 367**起始版本:** 12 368 369 370**参数:** 371 372| 参数项 | 描述 | 373| -- | -- | 374| [OH_PackingOptions](capi-image-nativemodule-oh-packingoptions.md) *options | 被操作的OH_PackingOptions指针。 | 375 376**返回:** 377 378| 类型 | 说明 | 379| -- | -- | 380| [Image_ErrorCode](capi-image-common-h.md#image_errorcode) | IMAGE_SUCCESS:执行成功。<br>IMAGE_BAD_PARAMETER:参数错误。 | 381 382### OH_PackingOptionsForSequence_Create() 383 384``` 385Image_ErrorCode OH_PackingOptionsForSequence_Create(OH_PackingOptionsForSequence **options) 386``` 387 388**描述** 389 390创建OH_PackingOptionsForSequence结构体的指针。 391 392**起始版本:** 13 393 394 395**参数:** 396 397| 参数项 | 描述 | 398| -- | -- | 399| [OH_PackingOptionsForSequence](capi-image-nativemodule-oh-packingoptionsforsequence.md) **options | 用于操作的OH_PackingOptionsForSequence指针。 | 400 401**返回:** 402 403| 类型 | 说明 | 404| -- | -- | 405| [Image_ErrorCode](capi-image-common-h.md#image_errorcode) | IMAGE_SUCCESS:执行成功。<br>IMAGE_BAD_PARAMETER:参数错误。 | 406 407### OH_PackingOptionsForSequence_SetFrameCount() 408 409``` 410Image_ErrorCode OH_PackingOptionsForSequence_SetFrameCount(OH_PackingOptionsForSequence *options,uint32_t frameCount) 411``` 412 413**描述** 414 415设置编码时指定的帧数。 416 417**起始版本:** 13 418 419 420**参数:** 421 422| 参数项 | 描述 | 423| -- | -- | 424| [OH_PackingOptionsForSequence](capi-image-nativemodule-oh-packingoptionsforsequence.md) *options | 用于操作的OH_PackingOptionsForSequence指针。 | 425| uint32_t frameCount | 图片的帧数。 | 426 427**返回:** 428 429| 类型 | 说明 | 430| -- | -- | 431| [Image_ErrorCode](capi-image-common-h.md#image_errorcode) | IMAGE_SUCCESS:执行成功。<br>IMAGE_BAD_PARAMETER:参数错误。 | 432 433### OH_PackingOptionsForSequence_GetFrameCount() 434 435``` 436Image_ErrorCode OH_PackingOptionsForSequence_GetFrameCount(OH_PackingOptionsForSequence *options,uint32_t *frameCount) 437``` 438 439**描述** 440 441获取编码时指定的帧数。 442 443**起始版本:** 13 444 445 446**参数:** 447 448| 参数项 | 描述 | 449| -- | -- | 450| [OH_PackingOptionsForSequence](capi-image-nativemodule-oh-packingoptionsforsequence.md) *options | 用于操作的OH_PackingOptionsForSequence指针。 | 451| uint32_t *frameCount | 图片的帧数。 | 452 453**返回:** 454 455| 类型 | 说明 | 456| -- | -- | 457| [Image_ErrorCode](capi-image-common-h.md#image_errorcode) | IMAGE_SUCCESS:执行成功。<br>IMAGE_BAD_PARAMETER:参数错误。 | 458 459### OH_PackingOptionsForSequence_SetDelayTimeList() 460 461``` 462Image_ErrorCode OH_PackingOptionsForSequence_SetDelayTimeList(OH_PackingOptionsForSequence *options,int32_t *delayTimeList, size_t delayTimeListLength) 463``` 464 465**描述** 466 467设定编码时图片的延迟时间数组。 468 469**起始版本:** 13 470 471 472**参数:** 473 474| 参数项 | 描述 | 475| -- | -- | 476| [OH_PackingOptionsForSequence](capi-image-nativemodule-oh-packingoptionsforsequence.md) *options | 用于操作的OH_PackingOptionsForSequence指针。 | 477| int32_t *delayTimeList | 图片延迟时间数组的指针。 | 478| size_t delayTimeListLength | 图片延迟时间数组的长度。 | 479 480**返回:** 481 482| 类型 | 说明 | 483| -- | -- | 484| [Image_ErrorCode](capi-image-common-h.md#image_errorcode) | IMAGE_SUCCESS:执行成功。<br>IMAGE_BAD_PARAMETER:参数错误。 | 485 486### OH_PackingOptionsForSequence_GetDelayTimeList() 487 488``` 489Image_ErrorCode OH_PackingOptionsForSequence_GetDelayTimeList(OH_PackingOptionsForSequence *options,int32_t *delayTimeList, size_t delayTimeListLength) 490``` 491 492**描述** 493 494获取编码时图片的延迟时间数组。 495 496**起始版本:** 13 497 498 499**参数:** 500 501| 参数项 | 描述 | 502| -- | -- | 503| [OH_PackingOptionsForSequence](capi-image-nativemodule-oh-packingoptionsforsequence.md) *options | 用于操作的OH_PackingOptionsForSequence指针。 | 504| int32_t *delayTimeList | 图片延迟时间数组的指针。 | 505| size_t delayTimeListLength | 图片延迟时间数组的长度。 | 506 507**返回:** 508 509| 类型 | 说明 | 510| -- | -- | 511| [Image_ErrorCode](capi-image-common-h.md#image_errorcode) | IMAGE_SUCCESS:执行成功。<br>IMAGE_BAD_PARAMETER:参数错误。 | 512 513### OH_PackingOptionsForSequence_SetDisposalTypes() 514 515``` 516Image_ErrorCode OH_PackingOptionsForSequence_SetDisposalTypes(OH_PackingOptionsForSequence *options,uint32_t *disposalTypes, size_t disposalTypesLength) 517``` 518 519**描述** 520 521设定编码时图片的过渡帧模式数组。 522 523**起始版本:** 13 524 525 526**参数:** 527 528| 参数项 | 描述 | 529| -- | -- | 530| [OH_PackingOptionsForSequence](capi-image-nativemodule-oh-packingoptionsforsequence.md) *options | 用于操作的OH_PackingOptionsForSequence指针。 | 531| uint32_t *disposalTypes | 图片过渡帧模式数组的指针,图片帧过渡模式的参数,如果长度小于frameCount,不足的部分将使用disposalTypes中的最后一个值进行填充,可取值如下:<br>0:不需要任何操作。<br>1:保持图形不变。<br>2:恢复背景色。<br>3:恢复到之前的状态。 | 532| size_t disposalTypesLength | 图片过渡帧模式数组的长度。 | 533 534**返回:** 535 536| 类型 | 说明 | 537| -- | -- | 538| [Image_ErrorCode](capi-image-common-h.md#image_errorcode) | IMAGE_SUCCESS:执行成功。<br>IMAGE_BAD_PARAMETER:参数错误。 | 539 540### OH_PackingOptionsForSequence_GetDisposalTypes() 541 542``` 543Image_ErrorCode OH_PackingOptionsForSequence_GetDisposalTypes(OH_PackingOptionsForSequence *options,uint32_t *disposalTypes, size_t disposalTypesLength) 544``` 545 546**描述** 547 548获取编码时图片的过渡帧模式数组。 549 550**起始版本:** 13 551 552 553**参数:** 554 555| 参数项 | 描述 | 556| -- | -- | 557| [OH_PackingOptionsForSequence](capi-image-nativemodule-oh-packingoptionsforsequence.md) *options | 用于操作的OH_PackingOptionsForSequence指针。 | 558| uint32_t *disposalTypes | 图片过渡帧模式数组的指针。 | 559| size_t disposalTypesLength | 图片过渡帧模式数组的长度。 | 560 561**返回:** 562 563| 类型 | 说明 | 564| -- | -- | 565| [Image_ErrorCode](capi-image-common-h.md#image_errorcode) | IMAGE_SUCCESS:执行成功。<br>IMAGE_BAD_PARAMETER:参数错误。 | 566 567### OH_PackingOptionsForSequence_SetLoopCount() 568 569``` 570Image_ErrorCode OH_PackingOptionsForSequence_SetLoopCount(OH_PackingOptionsForSequence *options, uint32_t loopCount) 571``` 572 573**描述** 574 575设定编码时图片循环播放次数,取值范围为[0,65535],0表示无限循环;若无此字段,则表示不循环播放。 576 577**起始版本:** 13 578 579 580**参数:** 581 582| 参数项 | 描述 | 583| -- | -- | 584| [OH_PackingOptionsForSequence](capi-image-nativemodule-oh-packingoptionsforsequence.md) *options | 用于操作的OH_PackingOptionsForSequence指针。 | 585| uint32_t loopCount | 图片循环播放次数。 | 586 587**返回:** 588 589| 类型 | 说明 | 590| -- | -- | 591| [Image_ErrorCode](capi-image-common-h.md#image_errorcode) | IMAGE_SUCCESS:执行成功。<br>IMAGE_BAD_PARAMETER:参数错误。 | 592 593### OH_PackingOptionsForSequence_GetLoopCount() 594 595``` 596Image_ErrorCode OH_PackingOptionsForSequence_GetLoopCount(OH_PackingOptionsForSequence *options, uint32_t *loopCount) 597``` 598 599**描述** 600 601获取编码时图片循环播放次数。 602 603**起始版本:** 13 604 605 606**参数:** 607 608| 参数项 | 描述 | 609| -- | -- | 610| [OH_PackingOptionsForSequence](capi-image-nativemodule-oh-packingoptionsforsequence.md) *options | 用于操作的OH_PackingOptionsForSequence指针。 | 611| uint32_t *loopCount | 图片循环播放次数。 | 612 613**返回:** 614 615| 类型 | 说明 | 616| -- | -- | 617| [Image_ErrorCode](capi-image-common-h.md#image_errorcode) | IMAGE_SUCCESS:执行成功。<br>IMAGE_BAD_PARAMETER:参数错误。 | 618 619### OH_PackingOptionsForSequence_Release() 620 621``` 622Image_ErrorCode OH_PackingOptionsForSequence_Release(OH_PackingOptionsForSequence *options) 623``` 624 625**描述** 626 627释放OH_PackingOptionsForSequence指针。 628 629**起始版本:** 13 630 631 632**参数:** 633 634| 参数项 | 描述 | 635| -- | -- | 636| [OH_PackingOptionsForSequence](capi-image-nativemodule-oh-packingoptionsforsequence.md) *options | 用于操作的OH_PackingOptionsForSequence指针。 | 637 638**返回:** 639 640| 类型 | 说明 | 641| -- | -- | 642| [Image_ErrorCode](capi-image-common-h.md#image_errorcode) | IMAGE_SUCCESS:执行成功。<br>IMAGE_BAD_PARAMETER:参数错误。 | 643 644### OH_ImagePackerNative_Create() 645 646``` 647Image_ErrorCode OH_ImagePackerNative_Create(OH_ImagePackerNative **imagePacker) 648``` 649 650**描述** 651 652创建OH_ImagePackerNative指针。 653 654**起始版本:** 12 655 656 657**参数:** 658 659| 参数项 | 描述 | 660| -- | -- | 661| [OH_ImagePackerNative](capi-image-nativemodule-oh-imagepackernative.md) **imagePacker | 被操作的OH_ImagePackerNative指针。 | 662 663**返回:** 664 665| 类型 | 说明 | 666| -- | -- | 667| [Image_ErrorCode](capi-image-common-h.md#image_errorcode) | IMAGE_SUCCESS:执行成功。<br>IMAGE_BAD_PARAMETER:参数错误。 | 668 669### OH_ImagePackerNative_PackToDataFromImageSource() 670 671``` 672Image_ErrorCode OH_ImagePackerNative_PackToDataFromImageSource(OH_ImagePackerNative *imagePacker,OH_PackingOptions *options, OH_ImageSourceNative *imageSource, uint8_t *outData, size_t *size) 673``` 674 675**描述** 676 677将ImageSource编码为指定格式的数据。 678 679**起始版本:** 12 680 681 682**参数:** 683 684| 参数项 | 描述 | 685| -- | -- | 686| [OH_ImagePackerNative](capi-image-nativemodule-oh-imagepackernative.md) *imagePacker | 被操作的OH_ImagePackerNative指针。 | 687| [OH_PackingOptions](capi-image-nativemodule-oh-packingoptions.md) *options | 编码选项参数。 | 688| [OH_ImageSourceNative](capi-image-nativemodule-oh-imagesourcenative.md) *imageSource | 用于编码的image source指针。 | 689| uint8_t *outData | 用于存储打包图像输出数据的缓冲区。 | 690| size_t *size | 用于存储打包图像输出数据的缓冲区大小。 | 691 692**返回:** 693 694| 类型 | 说明 | 695| -- | -- | 696| [Image_ErrorCode](capi-image-common-h.md#image_errorcode) | IMAGE_SUCCESS:执行成功。<br>IMAGE_BAD_PARAMETER:参数错误。<br>IMAGE_DECODE_FAILED:解码失败。<br>IMAGE_ALLOC_FAILED:申请内存失败。<br> IMAGE_TOO_LARGE:数据或图片过大。<br>IMAGE_UNKNOWN_ERROR:未知错误。 | 697 698### OH_ImagePackerNative_PackToDataFromPixelmap() 699 700``` 701Image_ErrorCode OH_ImagePackerNative_PackToDataFromPixelmap(OH_ImagePackerNative *imagePacker,OH_PackingOptions *options, OH_PixelmapNative *pixelmap, uint8_t *outData, size_t *size) 702``` 703 704**描述** 705 706将Pixelmap编码为指定格式的数据。 707 708**起始版本:** 12 709 710 711**参数:** 712 713| 参数项 | 描述 | 714| -- | -- | 715| [OH_ImagePackerNative](capi-image-nativemodule-oh-imagepackernative.md) *imagePacker | 被操作的OH_ImagePackerNative指针。 | 716| [OH_PackingOptions](capi-image-nativemodule-oh-packingoptions.md) *options | 编码选项参数。 | 717| [OH_PixelmapNative](capi-image-nativemodule-oh-pixelmapnative.md) *pixelmap | 用于编码的Pixelmap指针。 | 718| uint8_t *outData | 用于存储打包图像输出数据的缓冲区。 | 719| size_t *size | 用于存储打包图像输出数据的缓冲区大小。 | 720 721**返回:** 722 723| 类型 | 说明 | 724| -- | -- | 725| [Image_ErrorCode](capi-image-common-h.md#image_errorcode) | IMAGE_SUCCESS:执行成功。<br>IMAGE_BAD_PARAMETER:参数错误。<br>IMAGE_DECODE_FAILED:解码失败。<br>IMAGE_ALLOC_FAILED:申请内存失败。<br> IMAGE_TOO_LARGE:数据或图片过大。<br>IMAGE_UNKNOWN_ERROR:未知错误。 | 726 727### OH_ImagePackerNative_PackToDataFromPicture() 728 729``` 730Image_ErrorCode OH_ImagePackerNative_PackToDataFromPicture(OH_ImagePackerNative *imagePacker,OH_PackingOptions *options, OH_PictureNative *picture, uint8_t *outData, size_t *size) 731``` 732 733**描述** 734 735将Picture编码为指定格式的数据。 736 737**起始版本:** 13 738 739 740**参数:** 741 742| 参数项 | 描述 | 743| -- | -- | 744| [OH_ImagePackerNative](capi-image-nativemodule-oh-imagepackernative.md) *imagePacker | 被操作的OH_ImagePackerNative指针。 | 745| [OH_PackingOptions](capi-image-nativemodule-oh-packingoptions.md) *options | 编码选项参数。 | 746| [OH_PictureNative](capi-image-nativemodule-oh-picturenative.md) *picture | 用于编码的Picture指针。 | 747| uint8_t *outData | 用于存储打包图像输出数据的缓冲区。 | 748| size_t *size | 用于存储打包图像输出数据的缓冲区大小。 | 749 750**返回:** 751 752| 类型 | 说明 | 753| -- | -- | 754| [Image_ErrorCode](capi-image-common-h.md#image_errorcode) | IMAGE_SUCCESS:执行成功。<br>IMAGE_BAD_PARAMETER:参数错误。<br>IMAGE_DECODE_FAILED:解码失败。 | 755 756### OH_ImagePackerNative_PackToDataFromPixelmapSequence() 757 758``` 759Image_ErrorCode OH_ImagePackerNative_PackToDataFromPixelmapSequence(OH_ImagePackerNative *imagePacker,OH_PackingOptionsForSequence *options, OH_PixelmapNative **pixelmapSequence,size_t sequenceLength, uint8_t *outData, size_t *outDataSize) 760``` 761 762**描述** 763 764将Pixelmap序列编码为数据。 765 766**起始版本:** 13 767 768 769**参数:** 770 771| 参数项 | 描述 | 772| -- | -- | 773| [OH_ImagePackerNative](capi-image-nativemodule-oh-imagepackernative.md) *imagePacker | 被操作的OH_ImagePackerNative指针。 | 774| [OH_PackingOptionsForSequence](capi-image-nativemodule-oh-packingoptionsforsequence.md) *options | 编码选项参数 [OH_PackingOptionsForSequence](capi-image-nativemodule-oh-packingoptionsforsequence.md)。 | 775| [OH_PixelmapNative](capi-image-nativemodule-oh-pixelmapnative.md) **pixelmapSequence | 用于编码的Pixelmap序列指针。 | 776| size_t sequenceLength | 用于编码的Pixelmap序列长度。 | 777| uint8_t *outData | 用于存储编码后图像输出数据的缓冲区。 | 778| size_t *outDataSize | 用于存储编码后图像输出数据的缓冲区大小。 | 779 780**返回:** 781 782| 类型 | 说明 | 783| -- | -- | 784| [Image_ErrorCode](capi-image-common-h.md#image_errorcode) | IMAGE_SUCCESS:执行成功。<br>IMAGE_BAD_PARAMETER:参数错误。<br>IMAGE_DECODE_FAILED:解码失败。 | 785 786### OH_ImagePackerNative_PackToFileFromImageSource() 787 788``` 789Image_ErrorCode OH_ImagePackerNative_PackToFileFromImageSource(OH_ImagePackerNative *imagePacker,OH_PackingOptions *options, OH_ImageSourceNative *imageSource, int32_t fd) 790``` 791 792**描述** 793 794将一个ImageSource编码到文件中。 795 796**起始版本:** 12 797 798 799**参数:** 800 801| 参数项 | 描述 | 802| -- | -- | 803| [OH_ImagePackerNative](capi-image-nativemodule-oh-imagepackernative.md) *imagePacker | 被操作的OH_ImagePackerNative指针。 | 804| [OH_PackingOptions](capi-image-nativemodule-oh-packingoptions.md) *options | 编码选项参数。 | 805| [OH_ImageSourceNative](capi-image-nativemodule-oh-imagesourcenative.md) *imageSource | 用于编码的image source指针。 | 806| int32_t fd | 可写的文件描述符。 | 807 808**返回:** 809 810| 类型 | 说明 | 811| -- | -- | 812| [Image_ErrorCode](capi-image-common-h.md#image_errorcode) | IMAGE_SUCCESS:执行成功。<br>IMAGE_BAD_PARAMETER:参数错误。<br>IMAGE_DECODE_FAILED:解码失败。<br>IMAGE_UNKNOWN_ERROR:未知错误。 | 813 814### OH_ImagePackerNative_PackToFileFromPixelmap() 815 816``` 817Image_ErrorCode OH_ImagePackerNative_PackToFileFromPixelmap(OH_ImagePackerNative *imagePacker,OH_PackingOptions *options, OH_PixelmapNative *pixelmap, int32_t fd) 818``` 819 820**描述** 821 822将一个Pixelmap编码到文件中。 823 824**起始版本:** 12 825 826 827**参数:** 828 829| 参数项 | 描述 | 830| -- | -- | 831| [OH_ImagePackerNative](capi-image-nativemodule-oh-imagepackernative.md) *imagePacker | 被操作的OH_ImagePackerNative指针。 | 832| [OH_PackingOptions](capi-image-nativemodule-oh-packingoptions.md) *options | 编码选项参数。 | 833| [OH_PixelmapNative](capi-image-nativemodule-oh-pixelmapnative.md) *pixelmap | 用于编码的pixelmap指针。 | 834| int32_t fd | 可写的文件描述符。 | 835 836**返回:** 837 838| 类型 | 说明 | 839| -- | -- | 840| [Image_ErrorCode](capi-image-common-h.md#image_errorcode) | IMAGE_SUCCESS:执行成功。<br>IMAGE_BAD_PARAMETER:参数错误。<br>IMAGE_DECODE_FAILED:解码失败。<br>IMAGE_UNKNOWN_ERROR:未知错误。 | 841 842### OH_ImagePackerNative_PackToFileFromPicture() 843 844``` 845Image_ErrorCode OH_ImagePackerNative_PackToFileFromPicture(OH_ImagePackerNative *imagePacker,OH_PackingOptions *options, OH_PictureNative *picture, int32_t fd) 846``` 847 848**描述** 849 850将一个Picture编码到文件中。 851 852**起始版本:** 13 853 854 855**参数:** 856 857| 参数项 | 描述 | 858| -- | -- | 859| [OH_ImagePackerNative](capi-image-nativemodule-oh-imagepackernative.md) *imagePacker | 被操作的OH_ImagePackerNative指针。 | 860| [OH_PackingOptions](capi-image-nativemodule-oh-packingoptions.md) *options | 编码选项参数。 | 861| [OH_PictureNative](capi-image-nativemodule-oh-picturenative.md) *picture | 用于编码的picture指针。 | 862| int32_t fd | 可写的文件描述符。 | 863 864**返回:** 865 866| 类型 | 说明 | 867| -- | -- | 868| [Image_ErrorCode](capi-image-common-h.md#image_errorcode) | IMAGE_SUCCESS:执行成功。<br>IMAGE_BAD_PARAMETER:参数错误。<br>IMAGE_DECODE_FAILED:解码失败。<br>IMAGE_UNKNOWN_ERROR:未知错误。 | 869 870### OH_ImagePackerNative_PackToFileFromPixelmapSequence() 871 872``` 873Image_ErrorCode OH_ImagePackerNative_PackToFileFromPixelmapSequence(OH_ImagePackerNative *imagePacker,OH_PackingOptionsForSequence *options, OH_PixelmapNative **pixelmapSequence, size_t sequenceLength, int32_t fd) 874``` 875 876**描述** 877 878将一个Pixelmap序列编码到文件中。 879 880**起始版本:** 13 881 882 883**参数:** 884 885| 参数项 | 描述 | 886| -- | -- | 887| [OH_ImagePackerNative](capi-image-nativemodule-oh-imagepackernative.md) *imagePacker | 被操作的OH_ImagePackerNative指针。 | 888| [OH_PackingOptionsForSequence](capi-image-nativemodule-oh-packingoptionsforsequence.md) *options | 编码选项参数 [OH_PackingOptionsForSequence](capi-image-nativemodule-oh-packingoptionsforsequence.md)。 | 889| [OH_PixelmapNative](capi-image-nativemodule-oh-pixelmapnative.md) **pixelmapSequence | 用于编码的Pixelmap序列指针。 | 890| size_t sequenceLength | 用于编码的Pixelmap序列长度。 | 891| int32_t fd | 可写的文件描述符。 | 892 893**返回:** 894 895| 类型 | 说明 | 896| -- | -- | 897| [Image_ErrorCode](capi-image-common-h.md#image_errorcode) | IMAGE_SUCCESS:执行成功。<br>IMAGE_BAD_PARAMETER:参数错误。<br>IMAGE_DECODE_FAILED:解码失败。 | 898 899### OH_ImagePackerNative_GetSupportedFormats() 900 901``` 902Image_ErrorCode OH_ImagePackerNative_GetSupportedFormats(Image_MimeType **supportedFormats, size_t *length) 903``` 904 905**描述** 906 907获取支持编码的图片格式。 908 909**起始版本:** 20 910 911 912**参数:** 913 914| 参数项 | 描述 | 915| -- | -- | 916| [Image_MimeType](capi-image-nativemodule-image-string.md) **supportedFormats | 支持编码的图片格式。 | 917| size_t *length | 数组长度。 | 918 919**返回:** 920 921| 类型 | 说明 | 922| -- | -- | 923| [Image_ErrorCode](capi-image-common-h.md#image_errorcode) | IMAGE_SUCCESS:操作成功。<br> IMAGE_PACKER_INVALID_PARAMETER:参数异常,supportedFormats或length为空。 | 924 925### OH_ImagePackerNative_Release() 926 927``` 928Image_ErrorCode OH_ImagePackerNative_Release(OH_ImagePackerNative *imagePacker) 929``` 930 931**描述** 932 933释放OH_ImagePackerNative指针。 934 935**起始版本:** 12 936 937 938**参数:** 939 940| 参数项 | 描述 | 941| -- | -- | 942| [OH_ImagePackerNative](capi-image-nativemodule-oh-imagepackernative.md) *imagePacker | 被操作的OH_ImagePackerNative指针。 | 943 944**返回:** 945 946| 类型 | 说明 | 947| -- | -- | 948| [Image_ErrorCode](capi-image-common-h.md#image_errorcode) | IMAGE_SUCCESS:执行成功。<br>IMAGE_BAD_PARAMETER:参数错误。 | 949 950 951