2012-07-23 2 views
4

내 iOS PhoneGap 앱에 서버에서로드 한 사진 갤러리가 표시됩니다. 이 이미지를 iOS 카메라 롤에 저장하는 이미지 페이지에 버튼을 추가 할 수 있습니까? (모바일 사파리의 탭과 홀드와 비슷합니다.)Phonegap에서 카메라 롤에 웹 사진 저장

이것이 플러그인으로 처리해야하는 항목이라면 올바른 방향으로 나를 가리키는 정보를 알려주세요! (obj C에 대한 나의 기술은 매우 부족하다.)

감사합니다.

+0

당신이 무엇을 했습니까? –

답변

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); 
관련 문제