美文网首页
uniapp 加图片水印示例

uniapp 加图片水印示例

作者: 不想起床_9a42 | 来源:发表于2021-12-27 14:26 被阅读0次

1.需要先在view中增加一个canvas

        <!-- 设置canvas用于添加水印 -->
        <canvas id="canvas-clipper" canvas-id="canvas-clipper" type="2d"
            :style="{width: canvasSiz.width+'px',height: canvasSiz.height+'px',position: 'absolute',left:'-500000px',top: '-500000px'}" />

2.这里的两个参数只需要关注第一个path就行了,为相册选择的图片地址或者拍照得到的图片地址

// 增加水印并保存到相册
            watermark(path, name) {
                // 获取图片信息
                uni.getImageInfo({
                    src: path,
                    success: function(image) {
                        _this.canvasSiz.width = image.width;
                        _this.canvasSiz.height = image.height;

                        //担心尺寸重置后还没生效,故做延迟
                        setTimeout(() => {
                            let ctx = uni.createCanvasContext('canvas-clipper', _this);
                            ctx.drawImage(
                                path,
                                0,
                                0,
                                image.width,
                                image.height
                            );
                            // 设置文字水印
                            ctx.setFillStyle('white');
                            ctx.setFontSize(30);
                            ctx.fillText('抄表日期:', 20, 100);


                            //再来加个时间水印
                            var date = new Date();
                                                        //这里用了uview的js如果不适配需要自行修改
                            var time = _this.$u.timeFormat(date, 'yyyy年mm月dd日 hh时MM分ss秒')
                            ctx.setFontSize(30);
                            ctx.fillText(time, 20, 140);

                            ctx.draw(false, () => {
                                // 导出图片
                                uni.canvasToTempFilePath({
                                        destWidth: image.width,
                                        destHeight: image.height,
                                        canvasId: 'canvas-clipper',
                                        fileType: 'png',
                                        success: function(res) {
                                            _this.savePhoto(res.tempFilePath, name);
                                        }
                                    },
                                   //这个_this是当前页this在onload里面赋值的
                                    _this
                                );
                            });
                        }, 500)


                    }
                });
            },

            //保存图片到相册,方便核查
            savePhoto(path, name) {
                //保存到相册
                uni.saveImageToPhotosAlbum({
                    filePath: path,
                    success: () => {
                        uni.showToast({
                            title: '已保存至相册',
                            duration: 2000
                        });
                    }
                });
            },

3._this的声明


image.png image.png

4.效果图


image.png

相关文章

  • uniapp 加图片水印示例

    1.需要先在view中增加一个canvas 2.这里的两个参数只需要关注第一个path就行了,为相册选择的图片地址...

  • 图片加水印

    加文字水印 图片水印 给字体加颜色

  • 图片添加二维码水印教程

    本博客介绍一下用jdk awt实现图片加文字水印和图片水印的方法 一、图片文字水印 原来图片 加上文字水印后图片 ...

  • 「解锁PS」使用PS去水印--基础篇

    前言 示例图片:网易云官方微博宣传图片 使用PS去水印方法 打开PS,导入示例图片 一、图章法选中图章工具(或者仿...

  • 图片加数字水印

    数字水印介绍 常见的图片水印多是在图片上附上文字、logo等信息,可以直观地看出来,除了这种水印外,好可以给图片加...

  • ios绘图实列

    1> 水印PPT简介 * 图片水印作用:防止他人盗取图片,加一些Logo,生成一张新的图片。 * 怎么生成新的图片...

  • FFmpeg滤镜(3)

    FFmpeg为视频加图片水印 1、movie滤镜 如图,通过movie读取图片文件作为水印,显示在x坐标30、y坐...

  • 推荐一波2018年一直舍不得删掉的APP推荐,超有趣+高逼格+很

    图片加文字秀 图片搭配文字的APP,提供图片加文字、文字生成图片、图片加水印、生成文字海报等。 迅捷CAD看图 免...

  • 水印

    图片水印文字 图片水印图片

  • python图片加文字水印

    用python做后端时,用户想要在下载的图片用打上相关个人信息,于是看了一下Pillow文档,简单的实现了功能。打...

网友评论

      本文标题:uniapp 加图片水印示例

      本文链接:https://www.haomeiwen.com/subject/fgjyqrtx.html