我用的手机是小米Max2屏幕宽度393 像素比2.75. 当我调用drawImage的时候, 发现传入的640 384 是物理像素也就是我的屏幕宽度393根本盛不下,如果调用CanvasContext.drawImage(string imageResource, number sx, number sy, number sWidth, number sHeight, number dx,number dy, number dWidth, number dHeight)这个API时候可以将图片映射一下CanvasContext.drawImage( xxx, 0,0,640*2.75,384*2.75,0,0,640,384)
这个时候图片显示正常,但是当我调用canvasGetImageData的时候,虽然获取到640 384的imageData,但是获取到的图片是缩小的,看起来是获取到了显示图片区域的逻辑像素。比如图片显示区域是640*384,获取的图像大小看起来是(640/2.75 384/2.75)
有什么办法可以获得设备canvas物理像素的data?或者操作物理像素而不是逻辑像素
canvasctx.drawImage(tempFilePaths[0], 0,0, 640, 384);
canvasctx.draw(false,
() => {
wx.canvasGetImageData({
canvasId: 'canvassrc',
x: 0,
y: 0,
width: 640,
height: 384,
success(res) {