HarmonyOS 加载rawfile资源图片,转换PixelMap有黑边

加载rawfile资源图片,转换PixelMap有黑边

代码如下

const resourceMgr: resourceManager.ResourceManager =
  (PHMethod.context() as common.UIAbilityContext).resourceManager;
resourceMgr.getRawFileContent(name).then((fileData: Uint8Array) => {
  console.log("Succeeded in getting RawFileContent")
  // 获取图片的ArrayBuffer
  const buffer = fileData.buffer.slice(0);
  const imageSource = image.createImageSource(buffer);
  const imagePackerApi = image.createImagePacker();
  let packOpts: image.PackingOption = { format: "image/jpeg", quality: quality||30 };
  imagePackerApi.packing(imageSource, packOpts).then(async (data: ArrayBuffer) => {
    // data 为打包获取到的文件流,写入文件保存即可得到一张图片
    if (data) {
      const imageSource: image.ImageSource = image.createImageSource(data);
      let decodingOptions: image.DecodingOptions = {
        editable: true,
        desiredPixelFormat: 3,
      }
      resolve(imageSource.createPixelMap(decodingOptions));
    }
  }).catch((error: BusinessError) => {
    console.error('Failed to pack the image. And the error is: ' + error);
  })
HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zxjiu
let packOpts: image.PackingOption = { format: "image/png", quality: 30 };

因原图片是png格式 ,format格式调整为png

参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-image-V5#packingoption

分享
微博
QQ
微信
回复
1天前
相关问题
HarmonyOS apng库如何加载rawfile资源
77浏览 • 1回复 待解决
Iamge组件如何加载Graphic的资源图片
7020浏览 • 1回复 待解决
如何使用Image加载沙箱路径图片资源
1244浏览 • 2回复 待解决
HarmonyOS如何将Component转换PixelMap
418浏览 • 1回复 待解决
HarmonyOS 获取网络图片PixelMap
39浏览 • 1回复 待解决
HarmonyOS 自定义View怎么转换PixelMap
37浏览 • 1回复 待解决