UIImageView.Image для отправки вложения с помощью MonoTouch

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

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

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


person gchristakis    schedule 03.02.2012    source источник


Ответы (1)


Сначала вам нужно превратить 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" – это рекомендуемое имя файла, присвоенное программному обеспечению электронной почты получателя (т. е. это не локальный файл на вашем устройстве, и он не должен соответствовать чему-либо что существует).

person poupou    schedule 03.02.2012
comment
да, но как мне превратить изображение из элемента управления изображением в NSData? - person gchristakis; 03.02.2012
comment
извините, теперь я увидел ваше ПРИМЕЧАНИЕ, я попробую и посмотрю, сработает ли это для меня - person gchristakis; 03.02.2012
comment
У вас уже есть этот ответ в вашем собственном вопросе ;-) UIImageView.Image имеет свойство Image типа UIImage. Таким образом, imageView.Image.AsPNG () возвращает вам экземпляр NSData, который вы можете использовать при вызове AddAttachmentData. - person poupou; 03.02.2012
comment
я пытаюсь это сделать, но я пытаюсь понять, как превратить изображение, существующее в представлении изображений, в NSData. спасибо за Ваш ответ - person gchristakis; 03.02.2012