Js保存图片到本地

注:此方法是使用hbuilderx云打包之后才能用,否则在浏览器中会报 plus is not defined

官方文档 http://www.html5plus.org/doc/zh_cn/gallery.html#plus.gallery.save

  http://www.html5plus.org/doc/zh_cn/nativeobj.html#plus.nativeObj.BitmapSaveOptions

<template>
            <button @click="saveBitmap()">保存</button>
</template>

<script>
export default {
    data(){
        return{
            wc:'',
            bitmap:''
        }
    },
    mounted(){
        // H5 plus事件处理
        function plusReady(){
            // 获取首页Webview窗口
            this.wc = plus.webview.currentWebview();
            // 创建Bitmap对象
            this.bitmap = new plus.nativeObj.Bitmap("test");
            // 将webview内容绘制到Bitmap对象中
            this.wc.draw(this.bitmap,function(){
                console.log('绘制图片成功');
            },function(e){
                console.log('绘制图片失败:'+JSON.stringify(e));
            });
        }
        if(window.plus){
            plusReady();
        }else{
            document.addEventListener("plusready",plusReady,false);
        }
    },
    methods:{
        saveBitmap(){
            // 获取指定标识的Bitmap图片对象
            this.bitmap = plus.nativeObj.Bitmap.getBitmapById('test');
            // 保存图片到Bitmap对象中
            this.bitmap.save( "_doc/a.jpg",{},function(i){
                // 保存文件到系统相册中
                //i.target文件路径
                plus.gallery.save( i.target, function () {
                    alert( "保存图片到相册成功" );
                });
                this.bitmap.clear();//销毁Bitmap图片
                this.bitmap.recycle();//回收图片内存
            }
            ,function(e){
                console.log('保存图片失败:'+JSON.stringify(e));
                this.bitmap.clear();//销毁Bitmap图片
                this.bitmap.recycle();//回收图片内存
            });
        }
    }
}
</script>

 

 

 

posted @ 2019-08-07 18:00  龙卷风吹毁停车场  阅读(2589)  评论(0编辑  收藏  举报