HarmonyOS 获取网络图片的PixelMap,如何进行center crop?

需要将新闻图片(网络图片)传给TextReader组件,目前实现的方式使用的贵团队给出的代码获取PixelMap,但是该方法是直接将图片的比例输出为1:1,不是center crop,导致图片显示比例异常。

目前的获取PixelMap的代码:

private imagePixelMap: Map<string, PixelMap> = new Map()
private options: image.DecodingOptions = {
  sampleSize: 1,
  rotate: 0,
  editable: false,
  desiredSize: {
    width: 800,
    height: 800
  }
}

downLoadAndSave(imageUrl: string) {
  if (this.imagePixelMap.has(imageUrl)) {
    return
  }
  http.createHttp().request(imageUrl,
    (error: BusinessError, data: http.HttpResponse) => {
      if (error) {
        ZHGLog.error(`http request failed with. Code: ${error.code}, message: ${error.message}`);
      } else {
        image.createImageSource(data.result as ArrayBuffer)
          .createPixelMap(this.options)
          .then((pixelMap: PixelMap) => {
            this.saveImagePixelMap(imageUrl, pixelMap)
          })
      }
    }
  )
}

期望可实现将获取到的网络图片的pixelMap center crop。

HarmonyOS
2024-12-23 16:27:01
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
superinsect

获取到pixelMap后,可调用crop方法,根据输入的尺寸对图片进行裁剪,关于这块使用可参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-image-V5#crop9

或者使用如下链接中的裁切:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/image-transformation-V5#开发步骤

分享
微博
QQ
微信
回复
2024-12-23 20:01:17
相关问题
HarmonyOS 获取网络图片PixelMap
329浏览 • 1回复 待解决
HarmonyOS 网络图片如何转换成PixelMap
304浏览 • 1回复 待解决
如何获取网络图片尺寸?
765浏览 • 1回复 待解决
HarmonyOS 获取网络图片高度
158浏览 • 1回复 待解决
HarmonyOS imagepixelmap如何进行深拷贝
231浏览 • 1回复 待解决
页面加载前获取网络图片宽高
971浏览 • 1回复 待解决
服务卡片image怎么获取网络图片
7631浏览 • 2回复 待解决
获取网络图片并保存到相册
2219浏览 • 1回复 待解决
HarmonyOS 如何进行图片裁剪
323浏览 • 1回复 待解决
HarmonyOS 请求网络图片
755浏览 • 1回复 待解决
HarmonyOS 网络图片加载控件
345浏览 • 1回复 待解决
HarmonyOS Image加载网络图片
244浏览 • 1回复 待解决
如何保存网络图片到相册
1291浏览 • 1回复 待解决
Image组件如何加载网络图片
3096浏览 • 1回复 待解决
HarmonyOS Image组件网络图片缓存
600浏览 • 1回复 待解决
网络请求后如何进行回调?
1491浏览 • 1回复 待解决