【发布时间】:2016-07-15 10:40:34
【问题描述】:
如何使图像显示在具有特定高度和宽度的 HTML5 画布中,但图像以 100% 大小显示?换句话说,保持图像的纵横比大小不变。
树图像 = 'http://kornyezet.sze.hu/images/oktatok/tree3.jpg'
我希望上述树的这张图片在可以滚动的范围内为 100% 大小。
例如就像以蓝色显示的“溢出:滚动”选项。 http://www.w3schools.com/cssref/tryit.asp?filename=trycss_overflow
图片必须使用 Javascript 源代码。
Javascript:
var canvas = document.getElementById('my_canvas');
var ctx = canvas.getContext('2d');
var imageObj = new Image();
ctx.canvas.width = 100; ctx.canvas.height = 100;
imageObj.onload = function() {
ctx.drawImage(imageObj, 0, 0,100,100);
};
imageObj.src = 'http://kornyezet.sze.hu/images/oktatok/tree3.jpg';
HTML
<canvas id="my_canvas"></canvas>
这是一个 JSFIDDLE,但图片是 Google 的。如您所见,它已明显调整大小/压缩。相反,我希望在那里可以看到完整尺寸的图像和某种滚动选项。
谢谢!
【问题讨论】:
-
ctx.drawImage(source, sourceX, sourceY, sourceWidth, sourceHeight, destinationX, destinationY, destinationWidth, destinationHeight)使用这些参数,您可以根据需要调整图像大小和裁剪图像。如果你真的想要一个滚动条:stackoverflow.com/a/36233727/3702797 保持纵横比:stackoverflow.com/a/34429774/3702797。祝你好运。 -
你的意思是像CSS背景“封面”吗?检查这是否是您想要的:stackoverflow.com/questions/21961839/…
标签: javascript css html canvas