【发布时间】:2017-04-21 16:30:02
【问题描述】:
当尝试使用 context.drawImage() 函数在画布上绘制图像时,而不是在画布上显示完整图像(两者大小相同),它仅显示图像的缩放区域。但是当我将图像附加到 DOM 时,它会正确显示。您可以在 jsfiddle 中看到差异。上图是画布,下图是直接附加到文档正文的图片。
https://jsfiddle.net/3fnq62nx/
这里还有代码 sn-p ,这里可能有什么问题?
<html>
<body>
<canvas id="canvas" style="border: 1px solid black">
</canvas>
<script type="text/javascript">
var canvas = document.getElementById("canvas");
var image = new Image();
image.src = "room_default.jpg";
image.height = "400";
image.width = "800";
image.onload = function(){
canvas.width = image.width;
canvas.height = image.height;
document.body.appendChild(image);
var ctx= canvas.getContext("2d");
ctx.drawImage(image,0,0);
}
</script>
</body>
【问题讨论】:
-
而不是
image.height = "400"; image.width = "800";写image.style.height = "400px"; image.style.width = "800px"; -
@RolandStarke 我试过了,但是它将画布大小设置为图像的原始尺寸 1174x681。
标签: javascript html canvas