使用H5+实现截屏后保存至系统相册功能 JavaScript ``` void save(successCB[,errorCB,fileName,imgID,overwrite,format,quality,clip]); ``` ######使用说明: 使用前需要等plusready事件发生后才能正常使用,否则可能会报错。 ######参数说明: ``` 参数名 类型 说明 默认值 successCB Function 成功回调函数 无 必选参数 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}); }); } ``` 2018-07-21 前端 展开评论