使用H5+实现截屏后保存至系统相册功能 JavaScript

2 篇文章 0 订阅
1 篇文章 0 订阅
封装了一个H5+的截屏后保存至系统相册的函数
void save(successCB[,errorCB,fileName,imgID,overwrite,format,quality,clip]);
使用说明:

使用前需要等plusready事件发生后才能正常使用,否则可能会报错。

参数说明:
参数名类型说明默认值是否必选
successCBFunction成功回调函数Y
errorCBFunction失败回调函数Function
fileNameString文件名 不需后缀名当前时间戳
imgIDString原生图片ID当前时间戳
overwriteBoolean是否覆盖true
formatString保存的格式PNG
qualityNumber保存质量,1-100,1最低,100最高50
clipObject指定截屏区域{top:’0px’,left:’0px’,width:’100%’,height:’100%’}
代码
var save = function(successCB,errorCB,fileName,imgID,overwrite,format,quality,clip){
        errorCB     =  errorCB   || function(){};
        fileName    =  fileName  || Date.parse( new Date());
        imgID       =  imgID     || String(Date.parse( new Date()));
        overwrite   =  overwrite || true;
        format      =  format    || 'png';
        quality     =  quality   || 50;
        clip        =  clip      || {top:'0px',left:'0px',width:'100%',height:'100%'};

        var self = plus.webview.currentWebview();
        var bitmap = new plus.nativeObj.Bitmap(imgID);

        //绘制截图
        self.draw(bitmap,function(){
         // 保存Bitmap图片
         bitmap.save('_doc/'+fileName+'.'+format, {overwrite: overwrite,format:format,quality:quality,clip:clip}
            , function(i) {
                        //保存到系统相册
                        plus.gallery.save(i.target,function(d){
                                //销毁Bitmap图片
                                bitmap.clear();
                                successCB({success:'success',details:d});
                        }, function(e){
                                //销毁Bitmap图片
                                bitmap.clear();
                                errorCB({error:'图片保存至相册失败',details:e});
                        });
                }, function(e) {
                        bitmap.clear();
                        errorCB({error:'图片保存失败',details:e});
                }
            );

        },function(e){
                errorCB({error:'截屏绘制失败',details:e});
        });
}
  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值