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为什么会变?
269浏览 • 1回复 待解决
升级到next版后,oaid是否会变?
1643浏览 • 1回复 待解决
mysql 迁移复制的时候少了几个表是为什么呢?
2237浏览 • 1回复 待解决
如何使应用一键变灰,你会吗?
2339浏览 • 1回复 待解决
华为m30Pro升级鸿蒙后为什么有时候手机信号间歇性不好?
6651浏览 • 1回复 待解决
为什么手机升级为鸿蒙系统之后只有2G网了
15364浏览 • 1回复 待解决
什么是OceanBase 复制表场景?
3275浏览 • 1回复 待解决
HarmonyOS 在设置宽度为"100%"时,为什么margin right会失效?
334浏览 • 1回复 待解决
OceanBase 复制表的原理是什么?
4086浏览 • 1回复 待解决
为什么原子化服务卡片添加到桌面后图片会模糊呢?
4169浏览 • 1回复 待解决
为什么HSP共享包编译之后会有.har,是出于什么样的考虑?这个.har有什么用处?
827浏览 • 1回复 待解决
MySQL主从数据复制采用什么方法?
3197浏览 • 1回复 待解决
HarmonyOS为什么普通类型可以内存共享,其他类型需要sendable适配之后才能类型共享
177浏览 • 1回复 待解决
鸿蒙java开发 Canvas为什么不能把PixelMap作为参数带入?那我绘制的图片要怎么获取呢?
3640浏览 • 1回复 待解决
HarmonyOS Web嵌套之后多开几个页面,然后跳转到之前的页面,加载会白屏之后显示
330浏览 • 1回复 待解决
HSP打包后,为什么会生成HAR包,它是否会导致App包大小膨胀
1854浏览 • 1回复 待解决
一般大家添加索引时都简单考虑些什么?为什么会需要2个字段的索引?
3457浏览 • 1回复 待解决
HarmonyOS 安装同名bundle name,AAID都会变
207浏览 • 1回复 待解决
不能报名公测为什么?
6965浏览 • 1回复 待解决
#鸿蒙学习大百科#为什么说布局嵌套层数多了会影响应用的性能?
154浏览 • 1回复 待解决
为什么跳转突然无法实现
1896浏览 • 0回复 待解决
为什么有人对鸿蒙不满?
5188浏览 • 2回复 待解决
Left、Top为什么不生效?
644浏览 • 1回复 待解决
为什么去掉动态化能力?
559浏览 • 1回复 待解决
图片解码出来默认是rgba 读到arraybuffer里,这里需要自己手动写一个rgba2bgra的函数。
图片解码出来的pixelmap默认是rgba排列(imgSource.createPixelMap);image.createPixelMap是以输入流创建的pixelmap,该接口只接受bgra格式,所以需要将解码的图片格式改为bgra,才能拷贝得到正确颜色的图片,需要确保复制的原生pixelMap格式是bgra,并且代码里面的。
换成Argb也还是黄的。
中的pixelFormat要改为pixelFormat:image.PixelMapFormat.BGRA_8888。