1

我有一个带有背景图像的 HTML5 画布元素。允许用户在图像上绘图,然后需要将完整的画布元素与背景一起保存。我使用下面的代码来保存部分,但它只获取画布绘图而不是背景图像。我还能做些什么来获取背景图片?

var canvas = document.getElementById('your_canvas');
             var context = canvas.getContext('2d');
             // save canvas image as data url (png format by default)
             var dataURL = canvas.toDataURL();

             // set canvasImg image src to dataURL
             // so it can be saved as an image
             document.getElementById('canvasImg').src = dataURL;

更新:

我的 HTML

<div name='coords1' class='canvas-area input-xxlarge' disabled
placeholder='Shape Coordinates' id='imgDiv'
data-image-url='BackGround.jpg'></div>

我的 HTML 页面中有上述 div。然后我动态创建画布并在其上绘制。代码有点长。

4

2 回答 2

1

不要在 上使用图像,在..div上绘制图像canvas

使用以下代码在画布上绘制图像,

var img=new Image();
img.src=/*image src*/;
var ctx=canvas.getContext("2d");
img.onload=function()
{
    ctx.drawImage(img,x,y,width,height);
}

在回调完成图像绘制后img.onload,允许用户在画布上绘制......

现在保存画布绘图....

于 2013-03-15T18:53:10.550 回答
0

获取带有背景图像的画布

context.globalCompositeOperation="destination-over";
drawImage(yourBackgroundImage,0,0);
于 2013-03-14T05:04:02.267 回答