Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/113.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Swift MFMailComposeViewController addAttachmentData JPG设置最大分辨率_Ios_Swift_Ios9 - Fatal编程技术网

Ios Swift MFMailComposeViewController addAttachmentData JPG设置最大分辨率

Ios Swift MFMailComposeViewController addAttachmentData JPG设置最大分辨率,ios,swift,ios9,Ios,Swift,Ios9,首先,我是斯威夫特的新手,如果我做错了什么,我很抱歉 我尝试发送一封带有多张图片作为附件的电子邮件。但是我可以添加所有的图像,但是它们是全分辨率的 是否可以限制UIImage阵列中存储的图像的分辨率?(现在包含2个图像的电子邮件将为20MB,而不是488KB) 下面是一些代码: func configuredMailComposeViewController(image: [UIImage]) -> MFMailComposeViewController { let

首先,我是斯威夫特的新手,如果我做错了什么,我很抱歉

我尝试发送一封带有多张图片作为附件的电子邮件。但是我可以添加所有的图像,但是它们是全分辨率的

是否可以限制UIImage阵列中存储的图像的分辨率?(现在包含2个图像的电子邮件将为20MB,而不是488KB)

下面是一些代码:

    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)
}

您可以使用压缩来减小其大小:

let imageData: NSData = (UIImageJPEGRepresentation(imgView.image!, 0.5) as? NSData)!
mailComposer.addAttachmentData(imageData as Data, mimeType: "image/jpeg", fileName: "image.jpg")