window.onload = function() { canvas.width = 1152 canvas.height = 768 image.src = 'img-lg.jpg' image.onload = function() { offCanvas.width = image.width offCanvas.height = image.height scale = offCanvas.width / canvas.width //原图大小是画布的3陪 context.drawImage(image, 0, 0, canvas.width, canvas.height) offContext.drawImage(image, 0, 0) } }
canvas(注意不是offCanvas)中绘制的原图大小是画布的3陪,为什么可以将整张图片绘制进去,drawImage()应该不是自带缩放的吧?求解答。
楼上说的都很清楚了。能全放进去,是因为你传了dwidth,dheight 参数进去。
JavaScript 语法 3
剪切图像,并在画布上定位被剪切的部分:
context.drawImage(img,sx,sy,swidth,sheight,x,y,width,height);
参数值
参数 描述
img 规定要使用的图像、画布或视频。
sx 可选。开始剪切的 x 坐标位置。
sy 可选。开始剪切的 y 坐标位置。
swidth 可选。被剪切图像的宽度。
sheight 可选。被剪切图像的高度。
x 在画布上放置图像的 x 坐标位置。
y 在画布上放置图像的 y 坐标位置。
width 可选。要使用的图像的宽度。(伸展或缩小图像)
height 可选。要使用的图像的高度。(伸展或缩小图像)