2014-06-12 3 views
0

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

Но я хочу обрезать изображение с разрешением 610x320 пикселей.

Вот код для съемки изображения

Ti.Media.showCamera({ 
success:function(event) { 
    if(event.mediaType == Ti.Media.MEDIA_TYPE_PHOTO) { 
    var image = event.media; 
    var ImageFactory = require('ti.imagefactory'); 
    var newBlob = ImageFactory.imageAsCropped(image, {width:610, height:320 }); 
      imgvwCapturedImage.image = newBlob; //imgvwCapturedImage is an image view 
    } 
    }, 
cancel:function() {}, 
    error:function(error) { 
     alert("Sorry, Unable to to process now.Please retry later."); 
    }, 
saveToPhotoGallery:true, 
    allowEditing:true, 
    mediaTypes:[Ti.Media.MEDIA_TYPE_PHOTO] 
}); 

я смог обрезать изображение, используя imageFactory module только после выбора фотографии на экране предварительного просмотра. Есть ли возможность сделать то же самое на самом экране предварительного просмотра, чтобы пользователь мог определить, какая область становится обрезанной?

Любая помощь будет оценена по достоинству.

+0

Что означает «предварительный просмотр»? Это ваш интерфейс, где пользователь может редактировать фотографию? – 0101

+0

Я имел в виду экран, который отображается сразу же, когда мы снимаем фотографию с помощью камеры – Anand

+0

Но это ваш экран? Вы сделали это или предоставили iOS? – 0101

ответ

0

Я создал свой собственный экран предварительного просмотра для прошивки и обрезать изображение, при помощи модуля Scrollview и изображений фабрики. Теперь он работает отлично. Вы можете найти пример кода here. Однако это не будет работать на устройствах Android.

1

Вы попробовали оверлей? Просто создайте изменчивое представление, с которым пользователь может манипулировать (выберите часть изображения) и добавьте его в CameraOptionsType.

http://docs.appcelerator.com/titanium/latest/#!/api/CameraOptionsType-property-overlay

+0

Спасибо за ответ. AFAIK, используя оверлей с камерой, мне нужно управлять функциями камеры вручную, я думаю, я не могу использовать кнопки камеры по умолчанию, и мне нужно создать свой собственный экран предварительного просмотра. Правильно? – Anand

+0

Извините, но я не могу попробовать прямо сейчас. Ты это пробовал? Если так ... и если нет кнопок, попробуйте 'showControls: true' – 0101

+0

Я смог сделать то же самое с помощью наложения и создания настраиваемой камеры. Но теперь я сталкиваюсь с некоторыми проблемами в обрезке изображения. Не могли бы вы посмотреть на http://developer.appcelerator.com/question/175370/move-scale-and-crop-an-image – Anand

Смежные вопросы