Телефон Gap ориентация камеры - PullRequest
8 голосов
/ 28 марта 2012

Я разработал приложение, используя версию Phone Gap 0.9.3 ...

Когда я открываю камеру в своем приложении, она всегда открывается в альбомном режиме, и при захвате изображение возвращается в альбомном формате ...

Как изменить режим камеры на портретный

navigator.camera.getPicture(onsuccess, fail, {quality: 45,destinationType : Camera.DestinationType.DATA_URL, sourceType: src},img_id);

function onsuccess(imageData) {
    localStorage.setItem("image_captured","Yes");
    $('#'+imgID).attr('src', 'data:image/jpeg;base64,' + imageData);
    $("#"+imgID+"_IMG").attr('src', 'data:image/jpeg;base64,' + imageData);
}

В манифесте я упоминал:

<activity android:name="com.android.camera.Camera"
    android:screenOrientation="portrait">
</activity>

Пожалуйста, помогите мне в этом ...

Ответы [ 4 ]

18 голосов
/ 25 ноября 2013

Попробуйте это: correctOrientation: true

function getPhoto(source) {

    navigator.camera.getPicture(onPhotoURISuccess, onFail, { quality: 30, 
    destinationType: destinationType.FILE_URI,
    sourceType: source,
    correctOrientation: true });

}
7 голосов
/ 17 апреля 2012

фото ориентация не сохраняется при возврате изображения в формате base64 (все данные EXIF ​​удаляются).

Вы должны использовать акселерометр или ориентацию экрана, чтобы «узнать», было ли изображение сделано в портретной или альбомной ориентации, а затем отобразить его соответствующим образом.

6 голосов
/ 17 августа 2014

Параметр «correctOrientation» отлично работает для меня - но только если вы также используете параметры «targetWidth» и «targetHeight» (например, установите для них «800»).Похоже, что некоторым устройствам может не хватать памяти для вращения изображения с полным разрешением.

Обновление: вот хорошая статья с полезной информацией о памяти, масштабировании и проблемах EXIF ​​с кодом Phonegap Camera: http://simonmacdonald.blogspot.ca/2012/07/change-to-camera-code-in-phonegap-190.html

0 голосов
/ 16 августа 2014

Вместо этого я решил проблему с сохранением файла как URL.Файл будет помещен во временную папку вместе с правильными данными EXIF.Возможно, на некоторых устройствах вам придется вручную удалять файлы при закрытии приложения.

При обращении к URL-адресу файла вместо данных, кажется, что img отображается правильно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...