如何在 javascript 中在图像上绘制图像(没有 CSS 和 HTML)
how to draw image over image in javascript (without CSS and HTML)
我动态创建 HTMLImageElement
(s) 并在 canvas
上绘制它们
var image = new Image();
image.src = 'mypath/image.png';
context.drawImage(image, point.x, point.y); // context is a CanvasRenderingContext2D element
现在我想在 image
上绘制另一个图像(较小),仍然是动态的。没有 CSS 或 HTML 的帮助可能吗?
编辑
我不想用另一张图片替换一张图片,我想重叠两张图片:"background" 中最大的一张和前面最小的一张。 "Over" 旨在作为重叠,而不是替换。
只需将 drawImage()
与调整大小参数一起使用:
context.drawImage(image, point.x, point.y, wantedWidth, wantedHeight);
图片来源可以是image
甚至context
本身。
(还记得在尝试绘制之前在图像元素上使用 onload
处理程序。)
var ctx = document.querySelector("canvas").getContext("2d"),
img = new Image;
img.onload = function() {
ctx.drawImage(this, -200, -200, 800, 800);
ctx.drawImage(this, 0, 0);
};
img.src = "http://i.imgur.com/RV2a28T.png";
<canvas/>
我动态创建 HTMLImageElement
(s) 并在 canvas
var image = new Image();
image.src = 'mypath/image.png';
context.drawImage(image, point.x, point.y); // context is a CanvasRenderingContext2D element
现在我想在 image
上绘制另一个图像(较小),仍然是动态的。没有 CSS 或 HTML 的帮助可能吗?
编辑
我不想用另一张图片替换一张图片,我想重叠两张图片:"background" 中最大的一张和前面最小的一张。 "Over" 旨在作为重叠,而不是替换。
只需将 drawImage()
与调整大小参数一起使用:
context.drawImage(image, point.x, point.y, wantedWidth, wantedHeight);
图片来源可以是image
甚至context
本身。
(还记得在尝试绘制之前在图像元素上使用 onload
处理程序。)
var ctx = document.querySelector("canvas").getContext("2d"),
img = new Image;
img.onload = function() {
ctx.drawImage(this, -200, -200, 800, 800);
ctx.drawImage(this, 0, 0);
};
img.src = "http://i.imgur.com/RV2a28T.png";
<canvas/>