• 使用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;
        }
    
  • 相关阅读:
    八.正文处理命令及tar命令
    七.用户.群组及权限的深入讨论
    六.用户.群组和权限
    五.目录,文件的浏览,管理和维护
    四.linux 命令及获取帮助
    计算机的基础知识
    三.linux基本的50条命令
    二.Python的基本数据类型及常用功能
    一.编码的转换和基本的算法
    Linux开机自动挂载Windows分区
  • 原文地址:https://www.cnblogs.com/White-Quality/p/10109381.html
Copyright © 2020-2023  润新知