2012-07-23 83 views
4

我的iOS PhoneGap應用程序顯示照片庫(從服務器加載)。是否可以在圖像頁面上添加一個按鈕,其中將圖像保存到iOS相機膠捲? (類似於在移動Safari瀏覽器中點按並按住)保存網絡照片到相機膠捲Phonegap

如果這是需要做插件的東西,任何信息指向我在正確的方向將不勝感激! (我在obj C的技能很缺乏)。

謝謝!

+0

你有沒有發現? – 2013-10-15 23:44:28

回答

5

這可能在Cordova/Phonegap插件Canvas2ImagePlugin的幫助下。安裝它並將以下函數添加到您的代碼中。它基於Raul Sanchez的getImageDataURL()(謝謝!)。

function saveImageToPhone(url, success, error) { 
    var canvas, context, imageDataUrl, imageData; 
    var img = new Image(); 
    img.onload = function() { 
     canvas = document.createElement('canvas'); 
     canvas.width = img.width; 
     canvas.height = img.height; 
     context = canvas.getContext('2d'); 
     context.drawImage(img, 0, 0); 
     try { 
      imageDataUrl = canvas.toDataURL('image/jpeg', 1.0); 
      imageData = imageDataUrl.replace(/data:image\/jpeg;base64,/, ''); 
      cordova.exec(
       success, 
       error, 
       'Canvas2ImagePlugin', 
       'saveImageDataToLibrary', 
       [imageData] 
      ); 
     } 
     catch(e) { 
      error(e.message); 
     } 
    }; 
    try { 
     img.src = url; 
    } 
    catch(e) { 
     error(e.message); 
    } 
} 

使用方法如下:

var success = function(msg){ 
    console.info(msg); 
}; 

var error = function(err){ 
    console.error(err); 
}; 

saveImageToPhone('myimage.jpg', success, error); 
相關問題