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

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

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

参数说明:
参数名 类型 说明 默认值 是否必选
successCB Function 成功回调函数 Y
errorCB Function 失败回调函数 Function
fileName String 文件名 不需后缀名 当前时间戳
imgID String 原生图片ID 当前时间戳
overwrite Boolean 是否覆盖 true
format String 保存的格式 PNG
quality Number 保存质量,1-100,1最低,100最高 50
clip Object 指定截屏区域 {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});
        });
}

你可能感兴趣的:(前端,JavaScript,H5+)