转载请注明原地址;       
                                                                    <!--水印设置,生成图片-->
var img = new Image();
img.crossOrigin="anonymous";
img.src = "../imgs2/1.jpg";
alert("图一已经加载") <!--图片加载完成后在绘制-->
img.οnlοad=function(){ <!--准备canvas环境-->
var canvas=document.getElementById("myCanvas");
var ctx=canvas.getContext("2d");
canvas.width=1063;
canvas.height=638;
// 绘制图片
ctx.drawImage(img,0,0);
// 字体及颜色
ctx.font="30px microsoft yahei";
ctx.fillStyle = "#FF0000(255,255,255,0.8)";
//文字位置
ctx.fillText("(我是数字测试)",220,370);
ctx.fillText("12345678978",250,530);
                                                                                        <!--多个图pain合成-->
<!--html部分-->

 <div class="contentimg" id="contentimg">
<img src="../imgs2/机贴1.jpg" class="imgBox" border="0" style="display:none;width:100%;height:100%;" />
<img src="../imgs2/clipboard.png" class="imgCode" border="0" style="display:none;width:5.5rem;height:5.5rem" />
<!--<canvas id="myCanvas" style="width: 100%;height: 90%;">Your browser does not support the HTML5 canvas tag.</canvas>-->
<div id="myCanvas" style="width: 100%;height: 90%;"></div>
</div> <!--jquery--> $(function() {
//生成画布
hecheng();
function hecheng(){
draw(function(){
document.getElementById('myCanvas').innerHTML='<img src="'+base64[0]+'">';
})
}
var base64=[];
function draw(fn) {
var imgArr = ["../imgs2/机贴1.jpg","../imgs2/clipboard.png"];
var c = document.createElement('canvas'),
ctx = c.getContext('2d'),
len = imgArr.length;
c.width = $(".contentimg").width();
c.height = $(".contentimg").height();
console.log(c.width,c.height);
ctx.rect(0,0,c.width,c.height);
ctx.fillStyle='#ccc';
ctx.fill();
function drawing(n) {
if (n<len) {
var img = new Image;
img.src = imgArr[n];
img.onload = function() {
if (n==1) {
var codeW = $(".imgCode").width(), codeH = $(".imgCode").height();
ctx.drawImage(img,94,125,codeW,codeH);
drawing(n+1);
} else {
ctx.drawImage(img,0,0,c.width,c.height);
drawing(n+1);
}
}
} else {
base64.push(c.toDataURL("image/jpeg",0.8));
fn();
}
}
drawing(0);
}
})

使用Html5对图片加水印及多图合成的更多相关文章

  1. c#封装DBHelper类 c# 图片加水印 (摘)C#生成随机数的三种方法 使用LINQ、Lambda 表达式 、委托快速比较两个集合,找出需要新增、修改、删除的对象 c# 制作正方形图片 JavaScript 事件循环及异步原理(完全指北)

    c#封装DBHelper类   public enum EffentNextType { /// <summary> /// 对其他语句无任何影响 /// </summary> ...

  2. 火车头dede采集接口,图片加水印,远程图片本地化,远程无后缀的无图片本地化

    <?php /* [LocoySpider] (C)2005-2010 Lewell Inc. 火车采集器 DedeCMS 5.7 UTF8 文章发布接口 Update content: 图片加 ...

  3. thinkphp 3.2.3整合ueditor 1.4,给上传的图片加水印

    今天分享一下thinkphp 3.2.3整合ueditor 1.4,给上传的图片加水印.博主是新手,在这里卡住了很久(>_<) thinkphp 3.2.3整合ueditor 1.4 下载 ...

  4. PHPThumb处理图片,生成缩略图,图片尺寸调整,图片截取,图片加水印,图片旋转

    [强烈推荐]下载地址(github.com/masterexploder/PHPThumb). 注意这个类库有一个重名的叫phpThumb,只是大小写的差别,所以查找文档的时候千万注意. 在网站建设过 ...

  5. php 分享两种给图片加水印的方法

    本文章向码农们介绍 php 给图片加水印的两种方法,感兴趣的码农可以参考一下本文章的源代码. 方法一:PHP最简单的加水印方法 <?php // http://www.manongjc.com ...

  6. Java图片处理(二)图片加水印

    图片加水印,是通过图片重叠绘制实现的.实现代码如下: public static void press(String pressImg, String pressText, String target ...

  7. PHP给图片加水印

    <?php /** *图片加水印 *@param $srcImg 原图 *@param $waterImg 水印图片 *@param $savepath 保存路径 *@param $savena ...

  8. 如何用node.js批量给图片加水印

    上一篇我们讲了如何用node.js给图片加水印,但是只是给某一张图片加,并没有涉及到批量处理.这一篇,我们学习如果批量进行图片加水印处理. 一.准备工作: 首先,你要阅读完这篇文章:http://ww ...

  9. 使用 ImageEnView 给图片加水印,及建缩略图

    摘要: 使用 ImageEnView 给图片加水印,及建缩略图 {Power by hzqghost@21cn.com}unit CutWater; interface uses  Math,imag ...

随机推荐

  1. http的长连接与端连接

    长连接的定义:  HTTP1.1规定了默认保持长连接(HTTP persistent connection ,也有翻译为持久连接),数据传输完成了保持TCP连接不断开(不发RST包.不四次握手),等待 ...

  2. Libra教程之:运行自定义move modules

    文章目录 简介 创建Move modules 启动本地网络 创建账号并送测试币 编译Move Module 发布编译好的Module 创建交易脚本 编译编译脚本 执行脚本 简介 因为Libra和Mov ...

  3. 第三方库PyYAML

    建议参考PyYAML Documentation来源:http://pyyaml.org/wiki/PyYAMLDocumentation:http://blog.csdn.net/conquer07 ...

  4. NPM采用Rust以消除性能瓶颈

    Npam的指数级增长促使npm工程团队从Node.js切换到Rust,以处理那些将成为性能瓶颈的CPU绑定任务.最近的一份白皮书概述了在Rust中开发这个新服务,以及将其投入生产一年多的经验. 大部分 ...

  5. 初入React源码(一)

    导语 React是我接触的第二个框架,我最初开始接触的是vue,但是并没有深入的理解过vue,然后在工作过程中,我开始使用了React,现在已经觉得React会比vue更加实用,但是这只是个人观点,可 ...

  6. bdc抢夺域控

    1.运行CMD2.在 ntdsutil :提示符下输入 ntdsutil3.在 ntdsutil :提示符下输入 roles4.在 fsmo maintenance:提示符下输入 connection ...

  7. 从蓝瘦“想哭”到 SELinux 看操作系统安全何在

    最近一周,来自网络的"想哭"勒索病毒(Wannacry Ransomware)在世界各地同时上演了一部绑匪大片,台词华丽,演技出色,当仁不让地新晋世界第一网红.全球各国除了默默忙于 ...

  8. 外媒解读Web安全核心PKI的四大致命问题

    Web安全的立足根基在于复杂的PKI部署体系,但实际生活中得到正确部署的比例却非常有限,而且这一切都将随着摩尔定律的滚滚洪流灰飞烟灭. 我个人算是PKI(即公共密钥基础设施)的忠实拥护者.我热爱数学与 ...

  9. Unity碰撞检测

    2019独角兽企业重金招聘Python工程师标准>>> 我们在用unity做开发的时候,会遇到要用到碰撞检测的问题,比如说,物体撞到墙壁,子弹打到物体等等,所以这里简单介绍一下uni ...

  10. HR问了一句DB是啥?SQL是啥?DB是Database数据库,SQL是数据库语言! 然后呢? 数据库从入门到精通--入门必看!

    写在前面 本文的写作知识体系来源于我的数据库老师SDAU张承明,部分知识来自于网络,我呢对知识进行了细化和添加了自己的一些看法,并且加入了一些实例帮助理解,本文不是面向SQL高手写的,可以看作是数据库 ...