1
まず、私はスウィフトで新しいです。スウィフトMFMailComposeViewController addAttachmentData JPGセットの最大解像度
複数の画像を添付した電子メールを送信しようとしています。しかし、私はすべての画像を追加することができますが、彼らは完全な解像度です。
UIImageアレイに保存されている画像の解像度を制限することはできますか? (現在2枚の画像を電子メールではなく、488キロバイト20メガバイトになります)
はここにいくつかのコード:
func configuredMailComposeViewController(image: [UIImage]) -> MFMailComposeViewController {
let mailComposerVC = MFMailComposeViewController()
mailComposerVC.mailComposeDelegate = self
var counter = 1;
for img in image {
let imageData: NSData = UIImagePNGRepresentation(img)!
mailComposerVC.addAttachmentData(imageData, mimeType: "image/jpeg", fileName: "image\(counter).jpg")
counter += 1
}
mailComposerVC.setToRecipients(["email"])
mailComposerVC.setSubject("subject")
mailComposerVC.setMessageBody("message", isHTML: true)
return mailComposerVC
}
とイメージがここで作成されます。
@IBAction func takePhoto(sender: UIButton) {
imagePicker = UIImagePickerController()
imagePicker.delegate = self
imagePicker.sourceType = .Camera
presentViewController(imagePicker, animated: true, completion: nil)
}
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {
imagePicker.dismissViewControllerAnimated(true, completion: nil)
var image_taken: UIImage!
image_taken = info[UIImagePickerControllerOriginalImage] as? UIImage
var image: UIImage!
image = image_taken
imageArray.append(image)
}
var imagePicker: UIImagePickerController!
そして今はcreateEmailメソッドを呼び出します。
//send data to email
@IBAction func sendDataToServer(sender: UIBarButtonItem) {
composeMail(imageArray)
}