HarmonyOS Canvas.drawImage怎么绘制本地图片,并指定大小

HarmonyOS
2天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Excelsior_abit
import image from '@ohos.multimedia.image'

@Entry
@Component
struct Index {
  @State message: string = '点击获取图片尺寸';
  @State imagePixelMap: PixelMap | undefined = undefined;
  @State imageWidth: number = -1;
  @State imageHeight: number = -1;

  build() {
    Row() {
      Column() {
        Button(this.message)
          .fontSize(30)
          .width(350)
          .height(150)
          .fontWeight(FontWeight.Bold)
          .onClick(() => {
            getContext(this).resourceManager.getMediaContent($r("app.media.startIcon")).then((data) => {
              let arrayBuffer = data.buffer.slice(data.byteOffset, data.byteLength + data.byteOffset)
              let imageSource: image.ImageSource = image.createImageSource(arrayBuffer);
              imageSource.getImageInfo((err,
                value) => { //获取图片资源的尺寸
                console.log(`图片的尺寸为:width:${value.size.width}height:${value.size.height}`)
                if (err) {
                  return;
                } // 转PixelMap
                let opts: image.DecodingOptions = {
                  editable: true,
                  desiredSize: {
                    height: value.size.height,
                    width: value.size.width
                  } // desiredSize: { height: 300, width: 200 }
                };
                imageSource.createPixelMap(opts, (err, pixelMap) => {
                  this.imagePixelMap = pixelMap
                  this.imagePixelMap.getImageInfo().then((value) => {
                    this.imageWidth = value.size.width
                    this.imageHeight = value.size.height
                  })
                })
              })
            })
          })
        Image(this.imagePixelMap).width(this.imageWidth).height(this.imageHeight)
        Text(`图片尺寸信息:width: ${this.imageWidth}, height: ${this.imageHeight}`)
      }
    }
  }
}
分享
微博
QQ
微信
回复
2天前
相关问题
canvas怎么绘制资源目录下的图片
668浏览 • 1回复 待解决
HarmonyOS图片压缩不到指定大小
636浏览 • 1回复 待解决
HarmonyOS 如何上传本地图片
115浏览 • 1回复 待解决
HarmonyOS Image加载本地图片咨询
471浏览 • 1回复 待解决
HarmonyOS Canvas中关于绘制图片问题
385浏览 • 1回复 待解决
HarmonyOS如何获取手机本地图片
661浏览 • 1回复 待解决
如何获取手机本地图片
457浏览 • 1回复 待解决
Canvas如何绘制app.media下面的图片?
2365浏览 • 1回复 待解决
服务卡片设置本地图片显示空白
7430浏览 • 2回复 已解决
如何保存本地图片到相册中
1087浏览 • 1回复 待解决
ArkUI(eTS)如何实现本地图片保存?
7134浏览 • 1回复 待解决
图片压缩指定宽高和限制大小
984浏览 • 1回复 待解决
识别本地图片的方法有哪些?
411浏览 • 1回复 待解决
如何操作canvas重新绘制
1104浏览 • 1回复 待解决
如何将图片PixelMap压缩到指定大小
1809浏览 • 1回复 待解决