使用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
一个是vp一个是px,需要转下,px2vp()
在屏幕上的是vp,在绘制的时候是px,vp2px()