HarmonyOS createPixelMap 创建 PixelMap 发现图片变黄了
我使用以下代码,将一张图片解析后重新创建 PixelMap 进行显示,但是图片变黄了。
const imagePath = runtimeInfo.context.filesDir + "/test_res/original_image_1.jpeg";
const imageSource = image.createImageSource(imagePath);
const pixelMap = await imageSource.createPixelMap({
editable: true,
desiredPixelFormat: image.PixelMapFormat.RGBA_8888,
});
const imageInfo = await pixelMap.getImageInfo();
this.orgImage = pixelMap;
const buffer = new ArrayBuffer(pixelMap.getPixelBytesNumber());
await pixelMap.readPixelsToBuffer(buffer);
this.copyImage = await image.createPixelMap(
buffer,
{
size: {
width: imageInfo.size.width,
height: imageInfo.size.height
},
pixelFormat: image.PixelMapFormat.RGBA_8888,
}
);
无论是模拟器还是真机都有此问题,api 9、11 都有此问题,需要如何解决?
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
通过OH_Pixelmap_CreatePixelMap创建的对象,内存是怎么分配的?
1131浏览 • 1回复 待解决
通过PixelMap_CreatePixelMap创建的对象,内存在ArkTS侧和Native侧是否共享
2289浏览 • 1回复 待解决
调用imageSource.createPixelMap()报错“Create PixelMap error”
2038浏览 • 1回复 待解决
Native Image模块API-OH_PixelMap_CreatePixelMap
1826浏览 • 1回复 待解决
pixelMap复制之后为什么会变黄
523浏览 • 1回复 待解决
HarmonyOS pixelmap读到的数据调整options后文件损坏,无法再当成图片使用,再次传入createpixelmap报错Create PixelMap error
89浏览 • 1回复 待解决
OH_PixelMap_CreatePixelMap创建位图之后,传入的data还需要去维护吗?创建的位图data如何获取?
1674浏览 • 1回复 待解决
image.createPixelMap方法与pixelMap.readPixelsToBuffer方法咨询
424浏览 • 1回复 待解决
HarmonyOS 如何在A组件创建PixelMap,在B子组件展示图片
187浏览 • 1回复 待解决
HarmonyOS 相机拍照获得的image使用image.createPixelMap转成PixelMap不正确
416浏览 • 1回复 待解决
HarmonyOS PixelMap加载图片
111浏览 • 1回复 待解决
HarmonyOS 获取网络图片PixelMap
97浏览 • 1回复 待解决
可以以颜色创建pixelmap吗
395浏览 • 1回复 待解决
HarmonyOS 如何使用image.createPixelMaph创建PixelMap
137浏览 • 1回复 待解决
PixelMap怎么保存成图片文件
540浏览 • 1回复 待解决
通过资源管理对象来读取资源目录下的图片文件并创建pixelMap
1376浏览 • 1回复 待解决
HarmonyOS 单点调试变灰
70浏览 • 1回复 待解决
如何用PixelMap处理图片
2157浏览 • 1回复 待解决
HarmonyOS 使用CAPI创建pixelmap设置pixelFormat不生效
56浏览 • 1回复 待解决
HarmonyOS 在使用Image图片组件时,放入pixelMap无法显示图片
522浏览 • 1回复 待解决
HarmonyOS 网络图片如何转换成PixelMap
100浏览 • 1回复 待解决
HarmonyOS image.createPixelMap使用问题
293浏览 • 1回复 待解决
HarmonyOS 如何获取已经下载图片的PixelMap?
95浏览 • 1回复 待解决
第一个createpixelmap是解码,图片解码出来的pixelmap默认是rgba排列的(如需指定,可设置desiredFormat)。如果是以RGBA去进行读取这段buffer,那格式是匹配的,所以gl渲染出来的是正常的。改为bgra会颜色错位
第二个creatpixelmap是以流创建pixelmap,该接口只能接受bgra格式,按照bgra去读取流做处理。接口参数设置的foramt是出参,如果入参流的排列不是bgra,无论怎么设,都会导致颜色错误