OpenHarmony踩坑

发布时间 2023-11-28 16:16:32作者: 涂山喵喵

ArrayBuffer转存图片

  • 不能 image.createPixelMap 去创建 PixelMap,必须用 image.createImageSource 创建 ImageSource 后,再用 ImageSource.createPixelMap 创建。结果出来的 pixelMap 才能进行裁切、缩放等操作,可以正确packing。以下代码:
const imageSource = imageNs.createImageSource(buffer, { sourceDensity: 1 });
const pixelMap = await imageSource.createPixelMap();
await pixelMap.crop({ x: 220, y: 80, size: { width: 200, height: 200 } });
const result = await imageNs.createImagePacker().packing(pixelMap, { format: 'image/jpeg', quality: 30 });
// result 为处理完成的 ArrayBuffer
pixelMap.release();
imageSource.release();

不坑国人系列

image