HarmonyOS pixelmap深拷贝问题
以下方式拷贝pixelmap得到的图片颜色有偏差,同样位置的像素,如果原图是红色,拷贝图片显示蓝色,反之亦然。
static async copyPixelMap(pm: PixelMap): Promise<PixelMap | null> { 
  const imageInfo: image.ImageInfo = await pm.getImageInfo(); 
  const buffer: ArrayBuffer = new ArrayBuffer(pm.getPixelBytesNumber()); 
  await pm.readPixelsToBuffer(buffer); 
  const opts: image.InitializationOptions = { 
    editable: true, 
    pixelFormat: image.PixelMapFormat.RGBA_8888,//这里用RGBA_8888效果一样 
    size: { height: imageInfo.size.height, width: imageInfo.size.width } 
  }; 
  return await image.createPixelMap(buffer, opts); 
}
        HarmonyOS
      
        赞
        
 收藏 0
 回答 1
 
        待解决
        
相关问题
 HarmonyOS image的pixelmap如何进行深拷贝 
1278浏览  • 1回复 待解决
HarmonyOS  浅拷贝深拷贝 
1864浏览  • 1回复 待解决
#鸿蒙通关秘籍#如何实现PixelMap对象的深拷贝? 
1320浏览  • 1回复 待解决
#鸿蒙通关秘籍#如何使用PixelMap深拷贝实现图片裁剪? 
1238浏览  • 1回复 待解决
HarmonyOS 对象实现深拷贝 
1653浏览  • 1回复 待解决
HarmonyOS  ArkWeb组件是否支持深拷贝? 
1914浏览  • 1回复 待解决
HarmonyOS 如何对数组进行深拷贝? 
1764浏览  • 1回复 待解决
ArkWeb组件是否支持深拷贝 
1898浏览  • 1回复 待解决
#鸿蒙通关秘籍# 如何使用PixelMap进行图片的深拷贝操作并保持性能优化? 
1414浏览  • 1回复 待解决
#鸿蒙通关秘籍# 在HarmonyOS中如何通过PixelMap实现图片深拷贝后的裁剪和保存功能? 
954浏览  • 0回复 待解决
HarmonyOS 深拷贝关于list类型如何处理? 
1034浏览  • 1回复 待解决
ArkTS中如何实现对象的深拷贝? 
2863浏览  • 1回复 待解决
HarmonyOS 如何深拷贝一个对象,比如Object.assign({}, jrParam) 
1004浏览  • 1回复 待解决
HarmonyOS 使用@pro做UI的刷新的时候,如果同步的数据对象特别大,深拷贝会不会存在性能问题? 
1178浏览  • 1回复 待解决
HarmonyOS PixelMap问题 
979浏览  • 1回复 待解决
HarmonyOS PixelMap位图处理问题 
1080浏览  • 1回复 待解决
#鸿蒙通关秘籍# 如何在鸿蒙开发中通过使用@ObjectLink避免不必要的深拷贝,提高状态管理效率? 
1247浏览  • 0回复 待解决
HarmonyOS ArkTS中,无法对C对象进行深拷贝,或者序列化,需要把数据转换成@Sendable支持对象 
1135浏览  • 1回复 待解决
HarmonyOS @Prop和 @link的内存和效率对比,使用大量数据深拷贝的时候,使用link的开销是不是比prop小 
1533浏览  • 1回复 待解决
HarmonyOS fileIo.copyFileSync拷贝文件到中文目录,拷贝不了 
1594浏览  • 1回复 待解决
HarmonyOS 文件拷贝示例 
1077浏览  • 1回复 待解决
HarmonyOS关于沙箱视频拷贝到用户相册的问题 
1795浏览  • 1回复 待解决
HarmonyOS image.PixelMap保存到 相册问题 
1340浏览  • 1回复 待解决
HarmonyOS Image组件显示PixelMap类型数据问题 
1324浏览  • 1回复 待解决
HarmonyOS OH_AudioCaptureInfo结构缺少了位深的参数,音频采样位深是多少呢 
825浏览  • 1回复 待解决





















copy前先确认下源pixelmap的格式:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-image-V5#ZH-CN_TOPIC_0000001884758670__getimageinfosync12 方法1:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-image-V5#ZH-CN_TOPIC_0000001884758670__initializationoptions8 方法2:readpixelmaptobuffer拿到的BGRA_8888,抽个方法把[[b,g,r,a]…] 转换成[[r,g,b,a]…]。