2014-09-18 1 views
0

phonegap에서 응용 프로그램을 개발 중이며 Ipad 카메라를 사용하여 사진을 캡처하는 기능이 있습니다. fina로 작동하고 모든 사진이 서버에 제대로 저장되었습니다. 유일한 문제는 서버에 저장되는 동안 90도 회전 된 상태로 남았습니다.Ipad에서 캡처 한 사진이 서버에서 반전됩니다.

지금 나는 사진을 라이브러리에 저장하려고했는데 서버에있는 그대로 업로드하므로 문제는 ipad 사진 캡처 프로세스와 관련이 있다고 생각합니다. 아무도 내가 그런 문제에 대한 해결책을 찾는데 도움을 줄 수 있습니까? 그것은 Ipad 정상적인 행동인가요? 아니면 코드에 착각 했습니까?

나는 사진 기능을 위해 아래와 같은 기능을 사용하고

//Capture Photo either from camera or IPAD library 
    function capturePhoto(source){ 

    var deferred = $q.defer(); 
    //When source == 1 than from Photo Library 
    var cameraOptions = { quality: 70, destinationType: Camera.DestinationType.FILE_URI }; 
    if(source == 1){ cameraOptions = { quality: 70, destinationType: Camera.DestinationType.FILE_URI, sourceType: navigator.camera.PictureSourceType.PHOTOLIBRARY,targetWidth: 600,targetHeight: 600 }; } 

    navigator.camera.getPicture(function (imageURI) { 
     window.resolveLocalFileSystemURI(imageURI, function (fileEntry) { 

      window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSys) { 

        fileSys.root.getDirectory("auditPhotos", {create: true, exclusive: false}, function(dir) { 

         fileEntry.copyTo(dir,generateRandomID()+".jpg",function (entry) { 
             deferred.resolve(entry.fullPath) 
         }, null); 
        }, null); 
      }, null); 
     },null); 
     }, 
     function (message) { 
     deferred.reject(message); 
     }, 
     cameraOptions 
    ); 
    //deferred.resolve(generateRandomID()+".jpg"); 
    return deferred.promise; 
    } 

답변

3

당신은 JPG 형식으로 서버에 촬영 된 이미지 (기능 이상 사용)를 저장하는 것처럼. JPG & JPEG에는 이미지의 방향을 저장하는 EXIF ​​속성이 있습니다. IPAD를 통해 이미지를 캡처하면이 exif 데이터는 카메라 방향 및 기타 위치 관련 정보를 저장합니다. 그러나 이것은 ipad에 의해서만 이해되며 브라우저가 아닌 브라우저에 의해 이미지가 회전 된 것으로 보입니다. 그리고 당신이 IPAD에서 보았을 때 같은 이미지가 EXIF의 유용성으로 인해 적절한 위치에 IPAD에 의해 설정되었습니다.

이 문제를 해결하려면 JPG 대신 PNG 형식으로 이미지를 저장하면됩니다.

0

내 친구가 최근에 비슷한 문제가 있고, 내가 특별히 문제를 해결하는 방법을 너무 잘 모르겠어요 동안, 나는에 그 EXIF ​​데이터를 알고 이미지에는 지향성에 대한 정보가 저장되어야합니다.

당신은 EXIF ​​데이터를 얻기 위해이 라이브러리를 구현하는 시도하고 업로드하기 전에 필요한 경우 이미지를 회전 할 수 있습니다 https://code.google.com/p/iphone-exif/

관련 문제