当前位置:JS特效 » 图片效果 » js实现imageCompress压缩图片水印和下载demo
js实现imageCompress压缩图片水印和下载demo
如果您觉得内容不错,请分享:

插件介绍

js实现imageCompress压缩图片水印和下载demonew Vue({ el: '#app', data: { file:'https://dss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=1477436123,3577936229&fm=26&gp=0.jpg', width: 500, quality: 1,

浏览器兼容性

浏览器兼容性
时间:2021-10-09 阅读:218
简要教程

【案例简介】

js实现imageCompress压缩图片水印和下载demo

【案例截图】

【核心代码】


  new Vue({
                el: '#app',
                data: {
                    file:
                        'https://dss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=1477436123,3577936229&fm=26&gp=0.jpg',
                    width: 500,
                    quality: 1,
                    qualityList: [0.1, 0.5, 1],
                    mimeType: 'image/jpeg',
                    mimeTypeList: ['image/jpeg', 'image/png'],
                    instance: null,
                },
                methods: {
                    downImage() {
                        if (!this.instance) {
                            alert('请先生成图片');
                            return;
                        }
                        this.instance.downloadCompressFile();
                    },
                    // 上传图片
                    uploadImage(e) {
                        var that = this;
                        var file = e.target.files[0];
                        new imageCompress({
                            file,
                            width: that.width,
                            quality: that.quality,
                            mimeType: that.mimeType,
                        })
                            .then(instance => {
                                // 获取canvas,可用于自行加工绘制
                                let canvas = instance.getCanvas();
                                let context = canvas.getContext('2d');
                                context.fillStyle = '#ccc';
                                context.font = 'bold 35px Arial';
                                context.fillText('小皮咖图片压缩', 150, 150);

                                // 替换文档中存在图片节点
                                instance.replaceImageNode(document.getElementById('img'));
                                // 替换文档中存在的canvas节点
                                instance.replaceCanvasNode(document.getElementById('canvas'));
                                // 获取压缩后生成的image节点
                                instance.getCompressImageNode().then(image => {
                                    console.log(image);
                                });

                                // // 获取压缩后的blob文件,可用于上传
                                instance.getCompressFile().then(blob => {
                                    
                                });

                                // 下载压缩后文件
                                // instance.downloadCompressFile();
                            })
                            .catch(err => {
                                console.log(err);
                            });
                    },


Top