1. 程式人生 > >使用H5+實現截圖後儲存至系統相簿功能 JavaScript

使用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}); }); }