3

Я новичок в MonoTouch, и я пытаюсь отправить электронное письмо с изображением в виде вложения, которое пользователь будет приручать с камеры или выбрать из галереи.UIImageView.Image для почтового вложения с MonoTouch

Я создал программу, и она работает правильно (у меня есть контроллер ImageView который загружает изображение из uiimagepicker в ImageView. Тогда я называю MFMailComposeViewController, но я не знаю, как передать изображение из ImageView в addAttachmentdata метода.

Я полагаю, сначала я должен сохранить изображение из ImageView в виде файла, но я не знаю, как это сделать, и я не могу найти документацию для него.

ответ

4

Прежде всего, необходимо, чтобы превратить UIImage в NSData, например, с использованием AsPNG или AsJPG, а затем использовать правую MIME Тип изображения. Вот пример:

MFMailComposeViewController email = new MFMailComposeViewController(); 
// any UIImage will do 
UIImage img = UIImage.FromFile (".../anyimage.png"); 
email.AddAttachmentData (img.AsPNG(), "image/png", "image.png"); 
email.SetSubject ("Photo from my iPhone"); 
email.SetMessageBody ("Here's the attachment!", false); 
controller.PresentModalViewController (email, false); 

Примечание: "image.png" это имя suggested файла, передаваемое программное обеспечение электронной почты получателя (то есть это не локальный файл в устройстве и не нужно, чтобы соответствовать все, что существует).

+0

Да, но как я могу превратить изображение из элемента управления представлением изображения в NSData? – gchristakis

+0

извините, теперь я видел ваше ПРИМЕЧАНИЕ. Я попробую его и посмотрю, будет ли это работать для меня. – gchristakis

+0

У вас уже есть ответ на свой вопрос ;-) 'UIImageView.Image' имеет свойство' Image' типа 'UIImage'. Итак, 'imageView.Image.AsPNG()' с возвратом вам экземпляр NSData, который вы можете использовать в вызове 'AddAttachmentData' – poupou

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