多个图片合成一张

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Html5 Canvas 实现图片合成</title>
<script src="js/jquery-1.8.0.js" type="text/javascript" charset="utf-8"></script>
<script src="js/Canvas2Image.js" type="text/javascript" charset="utf-8"></script>
<style>
img{border:solid 1px #ddd;}
</style>
</head> <body>
<div align="center" class="img_photo">
<img src="img_clothes/img1.png" width="300">
<img src="img_clothes/img2.png" width="300">
<img src="img_clothes/img3.png" width="300">
<img src="img_clothes/img4.png" width="300">
</div>
<input type="button" value="一键合成" onClick="draw()" style="display:block;width: 60px; margin: 0 auto;">
<div id="imgBox" align="center"></div>
<script>
function draw(fn){
var data1= new Array();
for(var i=0;i<$('.img_photo img').length;i++){
data1[i]=$('.img_photo img').eq(i).attr('src');
}
var c=document.createElement('canvas'),
ctx=c.getContext('2d'),
len=data1.length;
c.width=290;
c.height=290;
ctx.rect(0,0,c.width,c.height);
ctx.fillStyle='transparent';//画布填充颜色
ctx.fill();
function drawing(n){
if(n<len){
var img=new Image;
//img.crossOrigin = 'Anonymous'; //解决跨域
img.src=data1[n];
img.onload=function(){
ctx.drawImage(img,0,0,290,290);
drawing(n+1);//递归
}
}else{
//保存生成作品图片
convertCanvasToImage(c);
Canvas2Image.saveAsJPEG(c); //保存到电脑
}
}
drawing(0);
}
function convertCanvasToImage(canvas) {
var hc_image = new Image();
hc_image.src = canvas.toDataURL("image/png");
$('#imgBox').html(hc_image);
}
</script>
</body>
</html>

Html5 Canvas 实现图片合成的更多相关文章

  1. Canvas 实现图片合成并下载合成图片

    现在经常会遇到那种带二维码的推广图片,如下图所示: 1是整张推广图的背景,2是二维码.这种图片的背景是保持不变的,里面的二维码是变化的.所以我们需要把二维码单独生成然后与背景合并. 我们可以通过can ...

  2. HTML5 CANVAS 实现图片压缩和裁切

    原文地址:http://leonshi.com/2015/10/31/html5-canvas-image-compress-crop/?utm_source=tuicool&utm_medi ...

  3. 使用html5 canvas绘制图片

    注意:本文属于<html5 Canvas绘制图形入门详解>系列文章中的一部分.如果你是html5初学者,仅仅阅读本文,可能无法较深入的理解canvas,甚至无法顺畅地通读本文.请点击上述链 ...

  4. 移动端canvas文字图片合成并生成图片(canvas宽度自适应移动端屏幕)

    这是我之前做的一个关于文字图片合成的代码,供大家参考,不足支出还望体谅:具体的注释在代码里都有,有什么不懂了可以留言互相交流.<!DOCTYPE html> <html lang=& ...

  5. html5 canvas画布上合成

    source-over 默认.在目标图像上显示源图像. source-atop 在目标图像顶部显示源图像.源图像位于目标图像之外的部分是不可见的. source-in 在目标图像中显示源图像.只有目标 ...

  6. html5 canvas实现图片玻璃碎片特效

    今天要为大家带来一款html5 canvas实现的图片玻璃碎片特效.图片以玻璃碎片的形式出现到界面中,然后似玻璃被打碎的效果渐消息.效果图如下: 在线预览   源码下载 实现代码: html代码: & ...

  7. HTML5 Canvas 绘制图片不显示的问题

    问题: 慕名赶来,却一脚踩空,低头一看,地上一个大坑. 事情是这样的,在我看完w3c的介绍和很有说服力和教学力的demo后,本着实践出真知的思想决定上手一试,这一试不要紧~ 我按照流水线工程铺设以下几 ...

  8. HTML5 canvas绘制图片

    demo.js window.onload=function() { createcanvas(); drawImage(); } function createcanvas() { var CANV ...

  9. jquery+html5+canvas实现图片 预览 压缩 上传

    javascirpt (function($){ $.fn.extend({ aiiUpload:function(obj) { if(typeof obj !="object") ...

随机推荐

  1. axios 同步问题

    Axios 是一个基于 Promise 的 HTTP 库,可以用在浏览器和 node.js 中(这是官方文档给出的一个解释说明) 它的主要作用是向后台发起异步请求,还有在请求中做更多的可控功能 1. ...

  2. 两种开源聊天机器人的性能测试(二)——基于tensorflow的chatbot

    http://blog.csdn.net/hfutdog/article/details/78155676 开源项目链接:https://github.com/dennybritz/chatbot-r ...

  3. CentOS 7 yum 安装 Nginx

    1.添加Nginx到YUM源 添加CentOS 7 Nginx yum资源库,打开终端,使用以下命令: sudo rpm -Uvh http://nginx.org/packages/centos/7 ...

  4. Docker-commit镜像提交

    docker commit:提交容器副本使之成为一个新的镜像 docker commit -a="作者名" -m="提交的描述信息" 容器id 新建的镜像名称: ...

  5. Linux案例01:eth0网卡异常

    一.现象描述 今天在调试两台物理机,做完配置重启主机后,发现一台服务器网络无法ssh连接,通过ILO进去ifconfig发现eth0配置的IP地址等信息丢失,手动重启后,可以ssh连接,但过一段时间, ...

  6. CSV输入输出

    读取csv文件: import csv cf = open('D:\pywe.csv','rb') cf.readline() #读取标题行,光标移动到下一行(相当于调过标题行) for l in c ...

  7. 给腾讯云Linux主机创建Swap文件

    新买的腾讯云主机没有提供Swap分区 理由是由于主机经常因为内存使用率过高,频繁使用Swap,导致磁盘IO过高,服务器整体性能反而下降. 不过用户依然可以使用Swap文件的方式添加Swap. 方法如下 ...

  8. XtraBackup出现 Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'

    解决办法1.建立一个软连接 ln -s /dat/data/mysql/mysql.sock /var/run/mysqld/mysqld.sock 解决办法2:指定--host=127.0.0.1

  9. iOS UI(绘图)的几张原理图

    Core Animation是对OpenGL ES的Objective-C封装,具有与OpenGL ES几乎等价的高性能,却隐藏了OpenGL ES的复杂性. https://www.cnblogs. ...

  10. Guava包学习--Table

    Table,顾名思义,就好像HTML中的Table元素一样,其实就是行+列去确定的值,更准确的比喻其实就是一个二维矩阵. 其实它就是通过行+列两个key去找到一个value,然后它又containsv ...