pixelMap复制之后为什么会变黄
由于没有提供复制pixelMap的api所以自定义了一个,但是通过缓存复制之后图片跟原来的图片颜色不同,复制代码如下:
async copyPixelMap(pm: PixelMap): Promise<PixelMap> {
// 获取图片信息
const imageInfo: image.ImageInfo = await pm.getImageInfo();
//buffer
const buffer: ArrayBuffer = new ArrayBuffer(pm.getPixelBytesNumber());
await pm.readPixelsToBuffer(buffer);
const opts: image.InitializationOptions = {
editable: true,
//换成Argb也还是黄的
pixelFormat: image.PixelMapFormat.RGBA_8888,
size: { height: imageInfo.size.height, width: imageInfo.size.width }
};
return await image.createPixelMap(buffer, opts);
}
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
HarmonyOS 同一个手机上获取文件路径filesDir为什么会变?
320浏览 • 1回复 待解决
mysql 迁移复制的时候少了几个表是为什么呢?
2271浏览 • 1回复 待解决
升级到next版后,oaid是否会变?
1684浏览 • 1回复 待解决
如何使应用一键变灰,你会吗?
2375浏览 • 1回复 待解决
华为m30Pro升级鸿蒙后为什么有时候手机信号间歇性不好?
6684浏览 • 1回复 待解决
什么是OceanBase 复制表场景?
3304浏览 • 1回复 待解决
HarmonyOS 在设置宽度为"100%"时,为什么margin right会失效?
382浏览 • 1回复 待解决
为什么手机升级为鸿蒙系统之后只有2G网了
15410浏览 • 1回复 待解决
OceanBase 复制表的原理是什么?
4122浏览 • 1回复 待解决
MySQL主从数据复制采用什么方法?
3222浏览 • 1回复 待解决
为什么原子化服务卡片添加到桌面后图片会模糊呢?
4200浏览 • 1回复 待解决
为什么HSP共享包编译之后会有.har,是出于什么样的考虑?这个.har有什么用处?
858浏览 • 1回复 待解决
鸿蒙java开发 Canvas为什么不能把PixelMap作为参数带入?那我绘制的图片要怎么获取呢?
3679浏览 • 1回复 待解决
HSP打包后,为什么会生成HAR包,它是否会导致App包大小膨胀
1878浏览 • 1回复 待解决
HarmonyOS Web嵌套之后多开几个页面,然后跳转到之前的页面,加载会白屏之后显示
369浏览 • 1回复 待解决
HarmonyOS为什么普通类型可以内存共享,其他类型需要sendable适配之后才能类型共享
208浏览 • 1回复 待解决
HarmonyOS 安装同名bundle name,AAID都会变
251浏览 • 1回复 待解决
一般大家添加索引时都简单考虑些什么?为什么会需要2个字段的索引?
3488浏览 • 1回复 待解决
不能报名公测为什么?
7003浏览 • 1回复 待解决
#鸿蒙学习大百科#为什么说布局嵌套层数多了会影响应用的性能?
176浏览 • 1回复 待解决
为什么有人对鸿蒙不满?
5218浏览 • 2回复 待解决
为什么去掉动态化能力?
587浏览 • 1回复 待解决
为什么跳转突然无法实现
1947浏览 • 0回复 待解决
Left、Top为什么不生效?
687浏览 • 1回复 待解决
什么是@Builder装饰器为什么要使用他?
324浏览 • 1回复 待解决
图片解码出来默认是rgba 读到arraybuffer里,这里需要自己手动写一个rgba2bgra的函数。
图片解码出来的pixelmap默认是rgba排列(imgSource.createPixelMap);image.createPixelMap是以输入流创建的pixelmap,该接口只接受bgra格式,所以需要将解码的图片格式改为bgra,才能拷贝得到正确颜色的图片,需要确保复制的原生pixelMap格式是bgra,并且代码里面的。
换成Argb也还是黄的。
中的pixelFormat要改为pixelFormat:image.PixelMapFormat.BGRA_8888。