2014-09-18 5 views
0

Как загрузить или добавить изображение в UIImageView непосредственно с iPhone/Ipad Захваченное изображение камеры.Захват изображения с камеры, установленной в ImageView

Я загрузил изображение в UIImageView из библиотеки фотографий.

Теперь я хочу загрузить изображение непосредственно после того, как вы сделали изображение через камеру в ImageView.

Просьба предложить мне, как реализовать это.

с использованием IOS 8,0

ответ

0

Вам нужно будет использовать AVFoundation, чтобы сделать это. Проверьте образец проекта AVCam в Xcode:

https://developer.apple.com/library/ios/samplecode/AVCam/Introduction/Intro.html

+0

Могу ли я иметь одно и то же в перекрестной платформе xamarin. – KkMIW

+0

Я бы так предположил, хотя я не использую Xamarin. – joelg

1

Это может быть достигнуто очень легко с компонентом Xamarin.Mobile, который является бесплатным и работает со всеми платформами.

http://components.xamarin.com/view/xamarin.mobile

Из примера они дают:

using Xamarin.Media; 
// ... 

var picker = new MediaPicker(); 
if (!picker.IsCameraAvailable) 
    Console.WriteLine ("No camera!"); 
else { 
    try { 
     MediaFile file = await picker.TakePhotoAsync (new StoreCameraMediaOptions { 
      Name = "test.jpg", 
      Directory = "MediaPickerSample" 
     }); 

     Console.WriteLine (file.Path); 
    } catch (OperationCanceledException) { 
     Console.WriteLine ("Canceled"); 
    } 
} 

После того, как вы сделать снимок, он сохраняется в указанный каталог с указанным именем. Для того, чтобы легко получить эту картинку и отобразить его с вашим ImageView с помощью приведенного выше примера вы можете сделать следующее:

//file is declared above as type MediaFile 
UIImage image = new UIImage(file.Path); 

//Fill in with whatever your ImageView is 
yourImageView.Image = image; 

Edit:

Просто к сведению, что вышеуказанные потребности быть асинхронными. Так что если вы хотите, чтобы запустить камеру от кнопки вызова, например, вы просто немного изменить .TouchUpInside события:

exampleButton.TouchUpInside += async (object sender, EventArgs e) => { 
    //Code from above goes in here, make sure you have async after the += 
}; 

В противном случае вы можете обернуть код сверху в функции и добавить асинхронный в том, что:

public async void CaptureImage() 
{ 
    //Code from above goes here 
} 
+0

Спасибо за компонент ..... Я добавил компонент и с помощью Xamarin.Media в ViewController. Ошибка CS4033 У меня возникла ошибка: оператор 'await 'может использоваться только тогда, когда его содержащий метод помечен модификатором' async'. – KkMIW

+0

Я обновил свой ответ, чтобы включить информацию об использовании async. Пожалуйста, дайте мне знать, если у вас возникнут дополнительные вопросы. – Coridan

+0

У меня проблема с этим при запуске приложения на мобильном устройстве, его открыть Camara и автоматически уволить. – KkMIW

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