HarmonyOS 使用OffscreenCanvas 离屏画布获取指定区域的pixelMap,但获取到的pixelMap的宽高与指定的不一致 -?

使用OffscreenCanvas 创建离屏画布,通过offContext.getPixelMap获取指定区域的pixelMap,预期结果宽高与指定(100*100)一致,但获取到的pixelMap的宽高为(325*325),怎么达到预期呢?demo如下

let offCanvas: OffscreenCanvas = new OffscreenCanvas(100, 100)
let settings: RenderingContextSettings = new RenderingContextSettings(true)
let offContext = offCanvas.getContext("2d", settings)
let pixelMapResult = offContext.getPixelMap(0, 0, 100, 100)
let pixelMapResultInfo = await pixelMapResult.getImageInfo()
console.info("pixelMapResult width:" + pixelMapResultInfo.size.width +
  " pixelMapResult height:" + pixelMapResultInfo.size.height)

控制台日志打印:

I     pixelMapResult.width:325 pixelMapResult.height:325
阅读 511
1 个回答

一个是vp一个是px,需要转下,px2vp()

在屏幕上的是vp,在绘制的时候是px,vp2px()

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进