2014-05-13 5 views
0

최신 cordova 프레임 워크를 사용하여 Blackberry10 앱을 만들고 있습니다.코르도바 블랙 베리 카메라 잘못된 이미지 방향

프레임 워크를 사용하여 이미지를 성공적으로 캡처 할 수 있지만 이미지의 방향이 올바르지 않습니다.

설명서를 읽으면 블랙 베리가 'correctOrientation'옵션을 지원하지 않습니다.

올바르게 찍은 방향을 지원하는 방법입니까, 아니면 이미지를 직접 회전해야합니까? 그렇다면 이것이 어떻게 가장 잘 이루어질 수 있을까요?

감사

navigator.camera.getPicture(function onPhotoDataSuccess(imageData) { 
    console.log(imageData); 
    success(imageData); 
},function onFail(message) { 
    alert('Failed because: ' + message); 
} 
, 
{ 
    quality : 100, 
    destinationType : Camera.DestinationType.DATA_URL, 
    sourceType : Camera.PictureSourceType.CAMERA, 
    allowEdit : true, 
    encodingType: Camera.EncodingType.JPEG, 
    targetWidth: 100, 
    targetHeight: 100, 
    saveToPhotoAlbum: false 
}); 

답변

0

대부분의 아마 당신은 스스로를해야 할 것이다.

내가 직접 해본 적이 있지만, 다음과 같이 분명히 캔버스 해킹을 사용하여 자바 스크립트로 이미지를 회전 할 수 있습니다 :

Javascript function to Rotate a base 64 image by X degrees and return new base64

HTML Canvas image to Base64 problem

캔버스는 partially supported in Android 2.3 and older입니다 BB10에서는 괜찮을 것입니다.

나는 네이티브 코드에서 그것을 수행하기 위해 커스텀 Cordova 플러그인을 코딩하고 싶습니다. 그런 다음 평소와 같이 사진을 찍을 것이며 BB에서만 이미지 데이터를 이미지를 회전시키는 플러그인에 전달하여 수정 된 이미지를 JavaScript 콜백으로 반환합니다.

마지막으로 큰 이미지 크기의 경우 나중에 코드를 다시 사용해야 할 경우 FILE_URI을 대상 유형으로 사용하는 것이 좋습니다. 이미지가 매우 커질 수 있고 인코딩 된 이미지가 더 커질 수 있기 때문입니다. 이제 예를 들어 100x100 이미지는 메모리 문제를 일으키지 않아야하지만 플러그인에서 JS 코드로 데이터를주고 받기 위해 인코딩 된 문자열 대신 파일 URI를 전달하는 것이 좋습니다.

+0

입력 해 주셔서 감사합니다. 나는 베틀을 가질 것이다. – Dan