0

私の iOS アプリでは、ユーザーがフォト アルバムから画像を選択したり、カメラから画像をキャプチャしたりできるようにしています。その直後に、選択/キャプチャした画像を添付ファイルとして MFMailComposeViewController を提示します。

画像は添付されて正しく送信されますが、アルバムの最新の写真が選択されている場合を除き、電子メールの写真のサムネイル プレビュー エリアは常に空白です。画像がキャプチャされた場合、またはアルバムから古い画像が選択された場合、次のように空白になります。

スクリーンショット

キャプチャ/選択した画像を添付する私のコードは次のとおりです。

MFMailComposeViewController email = new MFMailComposeViewController ();
email.SetToRecipients(new string[] {"test@test.com"});
email.SetSubject("Photo for " + CurrentCompany.DbaName + " (" + CurrentCompany.CoKey.ToString() + ")");

//imageToEmail is a UIImage that is set in the callback from the image capture/selection process
email.AddAttachmentData (imageToEmail.AsPNG(), "image/png", "photo.png");

email.Finished += HandleFinished;
NavigationController.PresentViewController(email, true, null);

プレビューが空白なのはなぜですか?

4

2 に答える 2

0

これを試して :

    email.AddAttachmentData (imageToEmail.AsPNG(), "image/png", "photo.png");   

この行を次の場所に置き換えます。

    NSData *data = UIImagePNGRepresentation(imageToEmail);//Your uiimage convert to nsdata
    [email addAttachmentData:data mimeType:@"image/png" fileName:@"Myphoto"];
于 2013-04-24T05:54:56.583 に答える
0

将来誰かがこれに遭遇した場合に備えて、UIImage を保存するいくつかの異なる方法 (アプリの個人的な保存場所、フォト アルバムなど) を試しましたが、画像を PNG として添付する方法はどれもうまくいきませんでした。UIImage を JPEG として保存すると、それが修正されました。この行を変更します:

email.AddAttachmentData (imageToEmail.AsPNG(), "image/png", "photo.png"); 

に:

email.AddAttachmentData (imageToEmail.AsJPEG(), "image/jpg", "photo.jpg"); 

キャプチャまたは選択されたすべての画像が、電子メールにプレビュー サムネイルを表示できるようにしました。

于 2013-04-24T19:49:25.493 に答える