Phonegap - Захват изображения в библиотеку фотографий и отображение в HTML

Я использую следующий код, чтобы захватить фотографию и отобразить ее в html, отлично работает.

 function takePicture() {

    navigator.camera.getPicture(
        function(uri) {
            var img = document.getElementById('camera_image1');
            img.style.visibility = "visible";
            img.style.display = "block";
            img.src = uri;
            document.getElementById('camera_status').innerHTML = "Success";

        },

        { quality: 50, allowEdit: true, destinationType: navigator.camera.DestinationType.FILE_URI});
};

html позже

 <img style="width:144px;height:144px;" id="camera_image1" src="nophoto.jpg"/>

но... это не сохраняет изображение в библиотеке фотографий камеры, поэтому я изменил строку на

  navigator.device.capture.captureImage

Теперь это захватывает изображение в библиотеку, но

  1. больше не отображается в html
  2. Больше не позволяет мне редактировать фотографию после того, как я сделал снимок в «приложении» камеры.

Любой указатель высоко ценится.

PhoneGap 1.3


person adamprocter    schedule 23.01.2012    source источник


Ответы (1)


При успешном завершении захвата изображения он передает массив объектов MediaFile вашему обратному вызову (массив, поскольку может быть более одного результата, но в вашем примере будет только один). Объекты MediaFile содержат полный путь. Вы должны иметь возможность использовать код, аналогичный приведенному выше, чтобы указать на файл uri.

Что касается вашего второго вопроса - не уверен, что вы ожидаете здесь. «Захват изображения» не является редактированием как таковым. Вам нужно будет создать свой собственный редактор с использованием JavaScript, что, вероятно, будет излишним.

person Raymond Camden    schedule 23.01.2012
comment
Спасибо, я посмотрел на объект MediaFile и немного запутался. Я посмотрю внимательнее. - person adamprocter; 24.01.2012
comment
Что касается редактирования, я имею в виду, что когда я использовал camera.getPicture и устанавливал allowit:true, я мог настроить фотографию перед тем, как «сохранить» ее. На самом деле базовая обрезка, и я хотел сохранить эту функцию. еще раз спасибо - person adamprocter; 24.01.2012
comment
Camera API предоставляет больше возможностей, чем Capture API, поэтому вы не можете внести изменения перед сохранением с помощью Capture. - person Simon MacDonald; 24.01.2012
comment
Итак, могу ли я изменить свой вопрос, как я могу использовать API камеры, как указано выше, но также сохранять в библиотеке устройств? - person adamprocter; 24.01.2012