openharmony 鸿蒙 arkts-apis-image-i

2025-06-16 浏览 (1)

Interfaces (其他)

说明:

本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

PositionArea7+

表示图片指定区域内的数据。

卡片能力: 从API version 12开始,该接口支持在ArkTS卡片中使用。

原子化服务API: 从API version 11开始,该接口支持在原子化服务中使用。

系统能力: SystemCapability.Multimedia.Image.Core

名称类型只读可选说明
pixelsArrayBuffer否否像素。仅支持BGRA_8888格式的图像像素数据。
offsetnumber否否偏移量。单位:字节。
stridenumber否否跨距,内存中每行像素所占的空间。stride >= region.size.width*4。
regionRegion否否区域,按照区域读写。写入的区域宽度加X坐标不能大于原图的宽度,写入的区域高度加Y坐标不能大于原图的高度。

ImageInfo

表示图片信息。

系统能力: SystemCapability.Multimedia.Image.Core

名称类型只读可选说明
size6+Size否否图片大小。
原子化服务API: 从API version 11开始,该接口支持在原子化服务中使用。
卡片能力: 从API version 12开始,该接口支持在ArkTS卡片中使用。
density9+number否否像素密度,单位为ppi。
原子化服务API: 从API version 11开始,该接口支持在原子化服务中使用。
卡片能力: 从API version 12开始,该接口支持在ArkTS卡片中使用。
stride11+number否否跨距,内存中每行像素所占的空间。stride >= region.size.width*4
原子化服务API: 从API version 11开始,该接口支持在原子化服务中使用。
卡片能力: 从API version 12开始,该接口支持在ArkTS卡片中使用。
pixelFormat12+PixelMapFormat否否像素格式。
原子化服务API: 从API version 12开始,该接口支持在原子化服务中使用。
卡片能力: 从API version 12开始,该接口支持在ArkTS卡片中使用。
alphaType12+AlphaType否否透明度。
原子化服务API: 从API version 12开始,该接口支持在原子化服务中使用。
卡片能力: 从API version 12开始,该接口支持在ArkTS卡片中使用。
mimeType12+string否否图片真实格式(MIME type)。
isHdr12+boolean否否true表示图片为高动态范围(HDR),false表示图片非高动态范围(SDR)。对于ImageSource,代表源图片是否为HDR;对于PixelMap,代表解码后的pixelmap是否为HDR。

Size

表示图片尺寸。

卡片能力: 从API version 12开始,该接口支持在ArkTS卡片中使用。

原子化服务API: 从API version 11开始,该接口支持在原子化服务中使用。

系统能力: SystemCapability.Multimedia.Image.Core

名称类型只读可选说明
heightnumber否否输出图片的高,单位:像素。
widthnumber否否输出图片的宽,单位:像素。

AuxiliaryPictureInfo13+

表示辅助图图像信息。

系统能力: SystemCapability.Multimedia.Image.Core

名称类型只读可选说明
auxiliaryPictureTypeAuxiliaryPictureType否否辅助图的图像类型。
sizeSize否否图片大小。
rowStridenumber否否行距。
pixelFormatPixelMapFormat否否像素格式。
colorSpacecolorSpaceManager.ColorSpaceManager否否目标色彩空间。

SourceOptions9+

ImageSource的初始化选项。

卡片能力: 从API version 12开始,该接口支持在ArkTS卡片中使用。

原子化服务API: 从API version 11开始,该接口支持在原子化服务中使用。

系统能力: SystemCapability.Multimedia.Image.Core

名称类型只读可选说明
sourceDensitynumber否否图片资源像素密度,单位为ppi。
在解码参数DecodingOptions未设置desiredSize的前提下,当前参数SourceOptions.sourceDensity与DecodingOptions.fitDensity非零时将对解码输出的pixelmap进行缩放。
缩放后宽计算公式如下(高同理):(width * fitDensity + (sourceDensity >> 1)) / sourceDensity。
sourcePixelFormatPixelMapFormat否是图片像素格式,默认值为UNKNOWN。
sourceSizeSize否是图像像素大小,默认值为空。

InitializationOptions8+

PixelMap的初始化选项。

系统能力: SystemCapability.Multimedia.Image.Core

名称类型只读可选说明
alphaType9+AlphaType否是透明度。默认值为IMAGE_ALPHA_TYPE_PREMUL。
原子化服务API: 从API version 11开始,该接口支持在原子化服务中使用。
卡片能力: 从API version 12开始,该接口支持在ArkTS卡片中使用。
editableboolean否是true表示可编辑,false表示不可编辑。默认值为false。
原子化服务API: 从API version 11开始,该接口支持在原子化服务中使用。
卡片能力: 从API version 12开始,该接口支持在ArkTS卡片中使用。
srcPixelFormat12+PixelMapFormat否是传入的buffer数据的像素格式。默认值为BGRA_8888。
pixelFormatPixelMapFormat否是生成的pixelMap的像素格式。默认值为RGBA_8888。
原子化服务API: 从API version 11开始,该接口支持在原子化服务中使用。
卡片能力: 从API version 12开始,该接口支持在ArkTS卡片中使用。
scaleMode9+ScaleMode否是缩略值。默认值为0。
原子化服务API: 从API version 11开始,该接口支持在原子化服务中使用。
卡片能力: 从API version 12开始,该接口支持在ArkTS卡片中使用。
sizeSize否否创建图片大小。
原子化服务API: 从API version 11开始,该接口支持在原子化服务中使用。
卡片能力: 从API version 12开始,该接口支持在ArkTS卡片中使用。

DecodingOptions7+

图像解码设置选项。

系统能力: SystemCapability.Multimedia.Image.ImageSource

名称类型只读可选说明
sampleSizenumber否是缩略图采样大小,默认值为1。当前只能取1。
原子化服务API: 从API version 11开始,该接口支持在原子化服务中使用。
卡片能力: 从API version 12开始,该接口支持在ArkTS卡片中使用。
rotatenumber否是旋转角度。默认值为0。
原子化服务API: 从API version 11开始,该接口支持在原子化服务中使用。
卡片能力: 从API version 12开始,该接口支持在ArkTS卡片中使用。
editableboolean否是true表示可编辑,false表示不可编辑。默认值为false。当取值为false时,图片不可二次编辑,如writepixels操作将失败。
原子化服务API: 从API version 11开始,该接口支持在原子化服务中使用。
卡片能力: 从API version 12开始,该接口支持在ArkTS卡片中使用。
desiredSizeSize否是期望输出大小,必须为正整数,若与原尺寸比例不一致,则会进行拉伸/缩放到指定尺寸,默认为原始尺寸。
原子化服务API: 从API version 11开始,该接口支持在原子化服务中使用。
卡片能力: 从API version 12开始,该接口支持在ArkTS卡片中使用。
desiredRegionRegion否是解码图像中由Region指定的矩形区域,当原始图像很大而只需要解码图像的一部分时,可以设置该参数,有助于提升性能,默认为原始大小。
原子化服务API: 从API version 11开始,该接口支持在原子化服务中使用。
卡片能力: 从API version 12开始,该接口支持在ArkTS卡片中使用。
desiredPixelFormatPixelMapFormat否是解码的像素格式。默认值为RGBA_8888。仅支持设置:RGBA_8888、BGRA_8888和RGB_565。有透明通道图片格式不支持设置RGB_565,如PNG、GIF、ICO和WEBP。
原子化服务API: 从API version 11开始,该接口支持在原子化服务中使用。
卡片能力: 从API version 12开始,该接口支持在ArkTS卡片中使用。
indexnumber否是解码图片序号。默认值为0,表示第一张图片。当取值为N时,表示第N-1张图片。单帧图片场景中取值只能为0,动图等多帧图片场景中取值范围为:0~(帧数-1)。
原子化服务API: 从API version 11开始,该接口支持在原子化服务中使用。
卡片能力: 从API version 12开始,该接口支持在ArkTS卡片中使用。
fitDensity9+number否是图像像素密度,单位为ppi。默认值为0。
原子化服务API: 从API version 11开始,该接口支持在原子化服务中使用。
卡片能力: 从API version 12开始,该接口支持在ArkTS卡片中使用。
desiredColorSpace11+colorSpaceManager.ColorSpaceManager否是目标色彩空间。默认值为UNKNOWN。
desiredDynamicRange12+DecodingDynamicRange否是目标动态范围,默认值为SDR。
通过CreateIncrementalSource创建的imagesource不支持设置此属性,默认解码为SDR内容。
如果平台不支持HDR,设置无效,默认解码为SDR内容。
cropAndScaleStrategy18+CropAndScaleStrategy否是解码参数如果同时设置desiredRegion与desiredSize,由此决定裁剪与缩放操作的先后策略。
仅支持设置:SCALE_FIRST、CROP_FIRST。

DecodingOptionsForPicture13+

图像解码设置选项。

系统能力: SystemCapability.Multimedia.Image.ImageSource

名称类型只读可选说明
desiredAuxiliaryPicturesArray<AuxiliaryPictureType>否否设置AuxiliaryPicture类型,默认解码所有AuxiliaryPicture类型。

Region8+

表示区域信息。

卡片能力: 从API version 12开始,该接口支持在ArkTS卡片中使用。

原子化服务API: 从API version 11开始,该接口支持在原子化服务中使用。

系统能力: SystemCapability.Multimedia.Image.Core

名称类型只读可选说明
size7+Size否否区域大小。
x7+number否否区域左上角横坐标。单位:像素。
y7+number否否区域左上角纵坐标。单位:像素。

PackingOption

表示图片编码选项。

系统能力: SystemCapability.Multimedia.Image.ImagePacker

名称类型只读可选说明
formatstring否否目标格式。
当前只支持"image/jpeg"、"image/webp"、"image/png"和"image/heic(或者image/heif)"12+、"image/sdr_astc_4x4"18+、"image/sdr_sut_superfast_4x4"18+(不同硬件设备支持情况不同)。
说明: 因为jpeg不支持透明通道,若使用带透明通道的数据编码jpeg格式,透明色将变为黑色。
原子化服务API: 从API version 11开始,该接口支持在原子化服务中使用。
qualitynumber否否1. 编码中设定输出图片质量的参数,该参数仅对JPEG图片和HEIF图片生效。取值范围为0-100。0质量最低,100质量最高,质量越高生成图片所占空间越大。WebP、PNG等图片均为无损编码。
2.sdr_astc_4x4编码中,可以设定输出图片质量的参数,可选参数:92、85。
3. sut编码中,设定输出图片质量可选参数:92。
原子化服务API: 从API version 11开始,该接口支持在原子化服务中使用。
bufferSize9+number否是接收编码数据的缓冲区大小,单位为Byte。如果不设置大小,默认为25M。如果编码图片超过25M,需要指定大小。bufferSize需大于编码后图片大小。使用packToFile不受此参数限制。
原子化服务API: 从API version 11开始,该接口支持在原子化服务中使用。
desiredDynamicRange12+PackingDynamicRange否是目标动态范围。默认值为SDR。
needsPackProperties12+boolean否是是否需要编码图片属性信息,例如EXIF。true表示需要,false表示不需要。默认值为false。

PackingOptionsForSequence18+

描述动图编码参数的选项。

系统能力: SystemCapability.Multimedia.Image.ImagePacker

名称类型只读可选说明
frameCountnumber否否GIF编码中指定的帧数。
delayTimeListArray<number>否否GIF编码中设定每帧输出图像的延迟时间,取值需大于0。
- 单位为10毫秒。例如,取值为10时,实际单帧延迟是100毫秒。
- 如果长度小于frameCount,不足的部分将使用delayTimeList中的最后一个值进行填充。
disposalTypesArray<number>否是GIF编码中设定每帧输出图像的帧过渡模式,如果长度小于frameCount,不足的部分将使用disposalTypes中的最后一个值进行填充,可取值如下:
- 0:不需要任何操作。
- 1:保持图形不变。
- 2:恢复背景色。
- 3:恢复到之前的状态。
loopCountnumber否是表示在GIF编码中输出图片循环播放次数,取值范围为[0,65535]。
0表示无限循环;若无此字段,则表示不循环播放。

ImagePropertyOptions11+

表示查询图片属性的索引。

系统能力: SystemCapability.Multimedia.Image.ImageSource

名称类型只读可选说明
indexnumber否是图片序号。默认值为0。
defaultValuestring否是默认属性值。默认值为空。

Component9+

描述图像颜色分量。

系统能力: SystemCapability.Multimedia.Image.Core

名称类型只读可选说明
componentTypeComponentType是否组件类型。
rowStridenumber是否行距。读取相机预览流数据时,需要按stride进行读取,使用详情请参考相机预览花屏解决方案。
pixelStridenumber是否像素间距。
byteBufferArrayBuffer是否组件缓冲区。

HdrStaticMetadata12+

静态元数据值,HdrMetadataKey中HDR_STATIC_METADATA关键字对应的值。

系统能力: SystemCapability.Multimedia.Image.Core

名称类型只读可选说明
displayPrimariesXArray<number>否否归一化后显示设备三基色的X坐标,数组的长度为3,以0.00002为单位,范围[0.0, 1.0]。
displayPrimariesYArray<number>否否归一化后显示设备三基色的Y坐标,数组的长度为3,以0.00002为单位,范围[0.0, 1.0]。
whitePointXnumber否否归一化后白点值的X坐标,以0.00002为单位,范围[0.0, 1.0]。
whitePointYnumber否否归一化后白点值的Y坐标,以0.00002为单位,范围[0.0, 1.0]。
maxLuminancenumber否否图像主监视器最大亮度。以1为单位,最大值为65535。
minLuminancenumber否否图像主监视器最小亮度。以0.0001为单位,最大值6.55535。
maxContentLightLevelnumber否否显示内容的最大亮度。以1为单位,最大值为65535。
maxFrameAverageLightLevelnumber否否显示内容的最大平均亮度,以1为单位,最大值为65535。

GainmapChannel12+

Gainmap图单个通道的数据内容,参考ISO 21496-1。

系统能力: SystemCapability.Multimedia.Image.Core

名称类型只读可选说明
gainmapMaxnumber否否增强图像的最大值,参考ISO 21496-1。
gainmapMinnumber否否增强图像的最小值,参考ISO 21496-1。
gammanumber否否gamma值,参考ISO 21496-1。
baseOffsetnumber否否基础图的偏移,参考ISO 21496-1。
alternateOffsetnumber否否提取的可选择图像偏移量,参考ISO 21496-1。

HdrGainmapMetadata12+

Gainmap使用的元数据值,HdrMetadataKey中HDR_GAINMAP_METADATA关键字对应的值,参考ISO 21496-1。

系统能力: SystemCapability.Multimedia.Image.Core

名称类型只读可选说明
writerVersionnumber否否元数据编写器使用的版本。
miniVersionnumber否否元数据解析需要理解的最小版本。
gainmapChannelCountnumber否否Gainmap的颜色通道数,值为3时RGB通道的元数据值不同,值为1时各通道元数据值相同,参考ISO 21496-1。
useBaseColorFlagboolean否否是否使用基础图的色彩空间,参考ISO 21496-1。true表示是,false表示否。
baseHeadroomnumber否否基础图提亮比,参考ISO 21496-1。
alternateHeadroomnumber否否提取的可选择图像提亮比,参考ISO 21496-1。
channelsArray<GainmapChannel>否否各通道的数据,长度为3,参考ISO 21496-1。

GetImagePropertyOptions(deprecated)

表示查询图片属性的索引。

说明:

从API version 11开始不再维护,建议使用ImagePropertyOptions代替。

系统能力: SystemCapability.Multimedia.Image.ImageSource

名称类型只读可选说明
indexnumber否是图片序号。默认值为0。
defaultValuestring否是默认属性值。默认值为空。

你可能感兴趣的鸿蒙文章

harmony 鸿蒙Image Kit(图片处理服务)

harmony 鸿蒙Interface (AuxiliaryPicture)

harmony 鸿蒙Interface (Image)

harmony 鸿蒙Interface (ImageCreator)

harmony 鸿蒙Interface (ImagePacker)

harmony 鸿蒙Interface (ImageReceiver)

harmony 鸿蒙Interface (ImageSource)

harmony 鸿蒙Interface (Metadata)

harmony 鸿蒙Interface (Picture)

harmony 鸿蒙Interface (PixelMap)

  • 所属分类: 后端技术
  • 本文标签: 软件 鸿蒙
  • 版权声明: 本文链接 https://seaxiang.com/blog/7uBnZw