HarmonyOS如何获取resources/media下图片的信息,如图片高、宽? 如何转pixelmap?

HarmonyOS如何获取resources/media下图片的信息,如图片高、宽? 如何转pixelmap?

HarmonyOS
2024-09-10 10:52:59
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
Heiang

可以参考如下demo来获取图片资源的尺寸信息以及了解相关转pixelmap操作:

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.ic_app_background")).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 } }; 
              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(300).height(400) 
        Text(`图片尺寸信息:width: ${this.imageWidth}, height: ${this.imageHeight}`) 
      } 
    } 
  } 
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
分享
微博
QQ
微信
回复
2024-09-10 17:38:40


相关问题
HarmonyOS 获取图片
922浏览 • 1回复 待解决
鸿蒙如何获取Element图片
8625浏览 • 1回复 待解决
如何获取窗口信息
3139浏览 • 1回复 待解决
HarmonyOS photoAsset获取图片失败
904浏览 • 1回复 待解决
如何获取图片,你知道吗?
3715浏览 • 1回复 待解决
页面加载前获取网络图片
1465浏览 • 1回复 待解决
HarmonyOS image加载图片自适应
1043浏览 • 1回复 待解决
HarmonyOS 如何获取Webview
608浏览 • 1回复 待解决
ArkTs如何获取组件
5808浏览 • 1回复 待解决
图片压缩指定和限制大小
1760浏览 • 1回复 待解决
HarmonyOS 如何获取组件大小,
1267浏览 • 1回复 待解决
如何测量获取控件
1391浏览 • 1回复 待解决
怎么把PixelMap图片BASE64
10393浏览 • 1回复 待解决