HarmonyOS 读取PixelMap的ArrayBuffer,再使用读取的数据创建PixelMap展示,图片变成了黑白,丢失了颜色。
读取PixelMap的ArrayBuffer,再使用读取的数据创建PixelMap,图片变成了黑白,丢失了颜色。
1、读取PixelMap的ArrayBuffer:
async pixelMapToArray(pixelMap:PixelMap){
//size为需要创建的像素buffer大小,取值为:height * width *4
let size = pixelMap.getPixelBytesNumber();
const readBuffer: ArrayBuffer = new ArrayBuffer(size);
if (pixelMap) {
await pixelMap.readPixelsToBuffer(readBuffer);
let bufferSize = readBuffer.byteLength;
return readBuffer;
}
return readBuffer;
}
2、使用读取的数据创建PixelMap:
arrayToPixelMap(readBuffer: ArrayBuffer | null, w:number, h:number, callback:(pixelMap:PixelMap)=>void){
let opts: image.InitializationOptions = { editable: true, pixelFormat: image.PixelMapFormat.RGBA_8888,
size: { height: h, width: w } }
image.createPixelMap(readBuffer, opts).then((pixelMap)=>{
callback(pixelMap);
});
}
3、调用:
PhotoChangeUtils.pixelMapToArray(pixelMap).then((buffer)=>{
let imageInfo = pixelMap.getImageInfoSync();
let w = imageInfo.size.width;
let h = imageInfo.size.height;
PhotoChangeUtils.arrayToPixelMap(buffer, w, h, (pixelMap)=>{
this.livePixelMap = pixelMap;
} )
})
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
通过资源管理对象来读取资源目录下的图片文件并创建pixelMap
1699浏览 • 1回复 待解决
HarmonyOS 使用image展示pixelMap无法展示图片 ,但有确切的值
816浏览 • 1回复 待解决
HarmonyOS使用ArrayBuffer 构造PixelMap 数据报错问题
1106浏览 • 1回复 待解决
可以以颜色创建pixelmap吗
578浏览 • 1回复 待解决
HarmonyOS中使用ArrayBuffer 构造PixelMap 数据报错问题?
375浏览 • 0回复 待解决
HarmonyOS pixelmap读到的数据调整options后文件损坏,无法再当成图片使用,再次传入createpixelmap报错Create PixelMap error
205浏览 • 1回复 待解决
HarmonyOS pixelMap转成ArrayBuffer
568浏览 • 1回复 待解决
HarmonyOS 从文件读取图片为pixelMap 怎样做平铺和纯色填充、图片裁切
218浏览 • 1回复 待解决
HarmonyOS 通过RawFileEntry读取PNG图片PixelMap,经ImagePacker编码,为JPEG格式。
9635浏览 • 3回复 待解决
HarmonyOS 如何在A组件创建PixelMap,在B子组件展示图片
577浏览 • 1回复 待解决
HarmonyOS 存在应用沙箱目录内的图片文件如何转换为PixelMap以及ArrayBuffer类型的数据
246浏览 • 1回复 待解决
HarmonyOS createPixelMap 创建 PixelMap 发现图片变黄了
423浏览 • 1回复 待解决
HarmonyOS 通过RGBA数据创建PixelMap,保存到文件中是纯黑的图片
361浏览 • 1回复 待解决
HarmonyOS 文件读取ArrayBuffer中文乱码的问题
383浏览 • 1回复 待解决
native层创建的pixelmap,arraybuffer等内存数据,传给ts层使用,最后是ts层的系统自动释放回收内存吗?
791浏览 • 1回复 待解决
HarmonyOS 如何把Webview截图转ArrayBuffer或者pixelMap
221浏览 • 1回复 待解决
HarmonyOS 如何使用image.createPixelMaph创建PixelMap
303浏览 • 1回复 待解决
HarmonyOS rn打包的图片文件名字变成了数字加字母的格式,没法使用
149浏览 • 1回复 待解决
HarmonyOS 怎么改pixelmap颜色
300浏览 • 1回复 待解决
根据Buffer生成的PixelMap,显示颜色错误
811浏览 • 1回复 待解决
HarmonyOS PixelMap加载图片
347浏览 • 1回复 待解决
HarmonyOS 使用CAPI创建pixelmap设置pixelFormat不生效
289浏览 • 1回复 待解决
HarmonyOS 读取图片数据接口,执行顺序问题
439浏览 • 1回复 待解决
获取图片的pixelMap后,传递给下一个页面后,获取传递的pixelMap数据不对
2072浏览 • 1回复 待解决
HarmonyOS 用Image显示了网络图片,可以拿到Image组件用的图片的PixelMap吗
293浏览 • 1回复 待解决
由image.createPixelMap描述可知通过属性创建PixelMap,默认采用BGRA_8888格式处理数据,通过Promise返回结果,即使创建pixelMap时的buffer和options都是rgba格式的,当前接口只能处理BGRA流,建议尝试统一更改为BGRA_8888。
参考示例: