【发布时间】:2014-09-07 09:50:32
【问题描述】:
我想使用 HTML5 的 canvas 标记和 JavaScript 裁剪页面中的多个图像。问题是页面只显示了一张图片。
我该怎么办?我试过的代码如下:
<canvas id="myCanvas" width="300" height="300"></canvas>
<canvas id="myCanvas" width="300" height="300"></canvas>
<canvas id="myCanvas" width="300" height="300"></canvas>
<script>
var canvas = document.getElementById('myCanvas');
var context = canvas.getContext('2d');
var imageObj = new Image();
imageObj.onload = function() {
// draw cropped image
var sourceX = 0;
var sourceY = 0;
var sourceWidth = 200;
var sourceHeight = 150;
var destWidth = sourceWidth;
var destHeight = sourceHeight;
var destX = canvas.width / 2 - destWidth / 2;
var destY = canvas.height / 2 - destHeight / 2;
context.drawImage(imageObj, sourceX, sourceY, sourceWidth, sourceHeight, destX, destY, destWidth, destHeight);
};
imageObj.src ='http://static.adzerk.net/Advertisers/3478c54721cd466fb6f7d3afe16e97d4.gif';
</script>
【问题讨论】:
-
ID的意义在于它对 one 元素是唯一的。您可能想进一步研究。所以我建议你研究学习 HTML。除此之外,您还需要获取每个画布的上下文,并在每个画布上进行绘制。 -
你必须分别对待每个画布,使用唯一的 id,否则使用一个类并对它们执行增量操作。
标签: javascript html canvas crop