将多个画布保存为一个图像(使网站像PicFrame一样)
Save multiple canvas as one image (make website like PicFrame)
我试图制作类似PicFrame的网站应用程序,所以我发现了这个演示:
http://jsfiddle.net/appsaloon/4jRLM/
我想在演示中使用多个画布,并将其保存到一个图像中。如何将所有画布保存为一个图像?对不起我的英语,谢谢!
我的HTML代码如下:
<div id="container">
<input type="file" id="imageLoader_1" />
<canvas id="imageCanvas_2" width="400" height="200"></canvas>
<input type="file" id="imageLoader_2" />
<canvas id="imageCanvas_2" width="400" height="200"></canvas>
<a id="imageSaver" href="#">Save image</a>
</div>
使用context.drawImage
在画布上绘制图像。
var canvas=document.getElementById('canvas0');
var context=canvas.getContext('2d');
context.drawImage(myImage,0,0);
由于另一个画布可以作为drawImage
的图像源,因此可以将多个画布合并到一个画布上,如下所示:
var canvas1=document.getElementById('canvas1');
var canvas2=document.getElementById('canvas2');
var canvas3=document.getElementById('canvas3');
var canvas4=document.getElementById('canvas4');
// merge 4 canvases (canvas1-canvas4) onto a single canvas
// (this example assumes canvas1-4 are 100x100 -- adjust to your needs)
context.drawImage(canvas1,0,0);
context.drawImage(canvas2,100,0);
context.drawImage(canvas3,0,100);
context.drawImage(canvas4,100,100);
然后,您可以使用context.toDataURL
从合并的画布创建图像数据URL
var dataURL = canvas.toDataURL();
此外,您可以使用dataURL创建一个图像对象
var img=new Image();
img.onload=function(){
document.body.appendChild(img);
}
img.src=dataURL;
相关文章:
- 只从DIV删除图像,而不是整个网站
- 在向下滚动JS/HTML/CSS wordpress网站时替换徽标图像
- 网站未加载css、js或图像
- 如何使用注入Firefox控制台的js文本来更改网站的背景图像-示例提供
- 在Wordpress网站的图像点击上播放随机声音
- 将多个画布保存为一个图像(使网站像PicFrame一样)
- 使用ImageMagick生成图像而不保存到文件,但仍在网站上显示
- 我如何从一个无限滚动的网站抓取图像,其中api是隐藏的,我无法通过使用Inspect Element获得它->网络
- 如何在Facebook上分享我自己的网站与网站上的图像
- 使用完整日历在网站上获取并显示来自Google日历事件的附加图像
- 加载网站时出现随机图像
- 如何从其他网页获取图像并在我的网站上显示
- 正在显示加载..在将新图像加载到网站时播放动画
- 在FB页面上分享,显示我没有包含在我的网站中的图像
- 调整网站上的图像大小以提高效率
- 将图像从另一个网站拖放到挖掘
- 我无法在我的网站上获取任何图像或显示任何 URL 图像
- 如何以图像居中的方式设置网站的位置
- 启动网站时,页面和图像加载速度非常慢
- Jquery 在网站加载时淡入图像