OpenHarmony开发者论坛

标题: 如何读取本地资源Resource,转换成Pixelmap,给到canvas里绘制 [打印本页]

作者: battier    时间: 2024-2-9 08:08
标题: 如何读取本地资源Resource,转换成Pixelmap,给到canvas里绘制
【问题描述】
在实现一个自定义组件,希望能动态读取本地文件,转换成pixelmap,请问有什么办法?

【运行环境】
硬件:RK3568
ROM版本:4.1
DevEvoStudio版本:
SDK版本:API 10

作者: 马迪    时间: 2024-2-9 16:36
参考了imageknife的代码

首先要把文件读出出来,转成arraybuff。 如果是资源文件的话,可以通过resourceManager读取
  1.   let resBuf: ArrayBuffer = this.context.resourceManager.getMediaContentSync($r('app.media.startIcon').id) .buffer
复制代码


再通过@ohos.multimedia.image,把arraybuff解析成pixelmap
  1.   let imageSource: image.ImageSource = image.createImageSource(resBuf);
  2.     let decodingOption: image.DecodingOptions = {
  3.       editable: true,
  4.     }

  5.     imageSource.createPixelMap(decodingOptions)
  6.       .then((pixelmap: PixelMap) => {

  7.                 // 拿到了pixelmap

  8.                imageSource.release()
  9.       })
复制代码

作者: battier    时间: 2024-2-17 21:03
回复 马迪: 实测,有效




欢迎光临 OpenHarmony开发者论坛 (https://forums.openharmony.cn/) Powered by Discuz! X3.5