2014-03-24 76 views
1

我對phonegap很陌生。從PhoneGap的img標籤本地保存圖像

我正在使用3.1版本的相機功能。 我已經與camera.getPicture到設備存儲保存的圖像文件,但現在我有一個新的任務:用相機功能加載後 ,我來處理圖像dircetly用帆布吊牌等..

如何我可以將圖像從img標籤(包含操作圖像)本地保存到設備存儲器中嗎?

在此先感謝, 任何幫助,將不勝感激!

回答

0

我可以想辦法,但你需要搜索它們,我可以給你粗略的想法。

想法是圖像的base64字符串>發送給本機代碼>再次轉換爲圖像>保存

你可以把canvas圖像並轉換成圖像編碼字符串的base64。

function convertImgToBase64(url, callback, outputFormat){ 
       var canvas = document.createElement('CANVAS'); 
       var ctx = canvas.getContext('2d'); 
       var img = new Image; 
       img.crossOrigin = 'Anonymous'; 
       img.onload = function(){ 
        canvas.height = img.height; 
        canvas.width = img.width; 
        ctx.drawImage(img,0,0); 
        var dataURL = canvas.toDataURL(outputFormat || 'image/png'); 
        callback.call(this, dataURL); 
        // Clean up 
        canvas = null; 
       }; 
       img.src = url; 
      } 

convertImgToBase64(imageUrl, function(base64Img){ //base64Img) 

將此圖像字符串發送到本地代碼。怎麼樣!在Google中搜索。有一種叫做appView的方式,或者你可以編寫自定義插件。

下一頁圖像字符串轉換爲圖像

FileOutputStream fos = null; 
try { 

if (base64ImageData != null) { 
    fos = context.openFileOutput("imageName.png", Context.MODE_PRIVATE); 
    byte[] decodedString = android.util.Base64.decode(base64ImageData, android.util.Base64.DEFAULT); 
    fos.write(decodedString); 

    fos.flush(); 
    fos.close(); 

    } 

} catch (Exception e) { 

} finally { 
    if (fos != null) { 
     fos = null; 
    } 
} 

Convert a string in base64 to an image and save the image

,並使用本地代碼保存。