使用canvas给图片添加水印
css部分
    .clip {
        position: absolute;
        clip: rect(0 0 0 0);
    }
html部分
    <input type="file" id="uploadFile" class="clip" accept="image/*">
    <label class="ui-button ui-button-primary" for="uploadFile">选择图片</label>
    <img id="imgCover" src="./images/googlelogo_color_272x92dp.png" class="clip">
    <p id="imgUploadX"></p>
js部分
    var eleUploadFile = document.getElementById('uploadFile');
    var eleImgCover = document.getElementById('imgCover');
    var eleImgUploadX = document.getElementById('imgUploadX');
    eleUploadFile.addEventListener('change', function(event) {
        var file = event.target.files[0] || event.target.dataTransfer.files[0];
        var reader = new FileReader();
        reader.onload = function(e) {
            var base64 = e.target.result;
            // canvas压缩图片,并且回调显示
            imgTogether(base64, function(url) {
                eleImgUploadX.innerHTML = '<img src="' + url + '"/>';
            })
        }
        reader.readAsDataURL(file);
    });
    var imgTogether = function(url, callback) {
        var canvas = document.createElement('canvas');
        var context = canvas.getContext('2d');
        // image实例对象
        var imageUpload = new Image();
        imageUpload.onload = function() {
            console.log('imageUpload', imageUpload);
            canvas.width = imageUpload.width;
            canvas.height = imageUpload.height;
            // canvas绘制图片
            context.drawImage(imageUpload, 0, 0);
            // 绘制水印
             context.drawImage(eleImgCover, 0, 0);
            // 回调
            callback(canvas.toDataURL('image/jpeg'));
        }
        imageUpload.src = url;
    }
												
											使用canvas给图片添加水印的更多相关文章
- 神奇的canvas——巧用 canvas 为图片添加水印
		
代码地址如下:http://www.demodashi.com/demo/11637.html 很久之前写过一篇关于 canvas 的文章,是通过 canvas 来实现一个绚丽的动画效果,不管看过没看 ...
 - 前端小程序——js+canvas 给图片添加水印
		
市场上各种各样的图片处理器有很多,那么作为程序员的我们是不是应该自己做一个呢?那就从加水印开始吧 html: <canvas id="shuiyinTest"> < ...
 - 使用canvas给图片添加水印, canvas转换base64,,canvas,图片,base64等转换成二进制文档流的方法,并将合成的图片上传到服务器,
		
一,前端合成带水印的图片 一般来说,生成带水印的图片由后端生成,但不乏有时候需要前端来处理.当然,前端处理图片一般不建议,一方面js的处理图片的方法不全,二是有些老版本的浏览器对canvas的支持度不 ...
 - Android 图片添加水印图片或者文字
		
给图片添加水印的基本思路都是载入原图,添加文字或者载入水印图片,保存图片这三个部分 添加水印图片: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ...
 - 海报工厂之(一)android 如何给图片添加水印和文字
		
在Android中如何给图片添加水印,下面截取了部分核心代码,仅供参考: /** * 获取图片缩小的图片 * @param src * @return */ ...
 - canvas学习笔记:canvas对图片的像素级处理--ImageData的应用
		
学习了canvas的基本绘图功能后,惊喜的发现canvas对图片数据也有相当强大的处理功能,能够从像素级别操作位图,当然[lte ie8]不支持. 主要的函数有三个: ctx.createImageD ...
 - 快速解决Canvas.toDataURL 图片跨域的问题
		
出现Canvas.toDataURL 图片跨域问题怎么解决呢?下面小编就为大家带来一篇Canvas.toDataURL 图片跨域问题的快速解决方法.一起跟随小编过来看看吧 如题,在将页面的图片地址进行 ...
 - java实现给图片添加水印
		
package michael.io.image; import java.awt.AlphaComposite; import java.awt.Graphics2D; import java.aw ...
 - 用canvas实现图片滤镜效果详解之灰度效果
		
前面展示了一些canvas实现图片滤镜效果的展示,并且给出了相应的算法,下面来介绍一下具体的实现方法. 前面介绍的特效中灰度效果最简单,就从这里开始介绍吧. 1.获取图像数据 img.src = ’h ...
 
随机推荐
- 解读人:谭亦凡,Macrophage phosphoproteome analysis reveals MINCLE-dependent and -independent mycobacterial cord factor signaling(巨噬细胞磷酸化蛋白组学分析揭示MINCLE依赖和非依赖的分支杆菌索状因子信号通路)(MCP换)
			
发表时间:2019年4月 IF:5.232 一. 概述: 分支杆菌索状因子TDM(trehalose-6,6’-dimycolate)能够与巨噬细胞C-型凝集素受体(CLR)MINCLE结合引起下游通 ...
 - puppet批量管理500多台服务器
			
前言 puppet使用了有一段时间了,之前写的手顺书一直未发布到blog上来,今天正好有空,写下一点笔记.公司在用的服务器有500多台,基本都为CentOS,版本有5和6两种,管理起来很不方便,尤其是 ...
 - PostGIS安装 pgis3.4.2  postgresql 10.1
			
https://yq.aliyun.com/articles/228258http://download.osgeo.org/postgis/source/http://blog.51cto.com/ ...
 - ios开发 xcode6以上安装Alcatraz管理插件
			
在终端上输入如下命令即可完成安装: curl -fsSL https://raw.github.com/supermarin/Alcatraz/master/Scripts/install.sh | ...
 - 异常HttpMessageNotWritableException解决办法
			
1. 问题描述 在写SpringBoot项目的时候,由于是前后端分离项目,为了统一接口形式,使用一个类封装了返回数据的形式,但是在测试的时候报异常HttpMessageNotWritableExcep ...
 - thinkphp5 join使用注意
			
A表有id,name,time等字段, B表有id,type,uid,email,address等字段. A表中的id和B表中的uid对应. Db::table(A表)->alias('a') ...
 - 自定义xml spring bean
			
一. xml中bean解析过程 扫描META-INF下面的 spring.schemas bean定义对应的xsd位置,在IDEA中可以辅助校验) spring.handlers xmlns对应 ...
 - 练习二十:python计算皮球下落速度练习题
			
问题简述:假设一个皮球从100米高度自由落下.条件,每次落地后反跳回原高度的一般,在落下 要求:算出皮球,在第十次落地时,共经过多少米?第十次反弹多高? 方法一: h,sum1 = 100,100 # ...
 - strcpy、strncpy、strlen、memcpy、memset、strcat、strncat、strcmp、strncmp,strchr
			
1.strcpy #include<stdio.h> #include<assert.h> char *mystrcpy(char *dest, const char *src ...
 - Spark编程模型(中)
			
创建RDD 方式一:从集合创建RDD makeRDD Parallelize 注意:makeRDD可以指定每个分区perferredLocations参数parallelize则没有. 方式二:读取外 ...