【发布时间】:2017-06-11 22:47:01
【问题描述】:
当我从 UIImagePicker 获取具有透明背景的 PNG 图像时,它会插入具有透明背景的图像,如下所示:
当我设置时:
imagePicker.allowsEditing = true
它允许我在 UIImagePicker 提供的视图中按预期进行裁剪
但是当我按下“选择”时,它会返回黑色而不是透明背景的图像,如下所示:
两个结果之间的唯一变化是设置
imagePicker.allowsEditing = true
并在应用中裁剪图像。
有没有办法在裁剪时保持透明度或至少将黑色变为白色?
我已经搜索了互联网,但没有提到我可以看到的。
代码:
func showImagePicker() {
imagePicker.allowsEditing = true
imagePicker.sourceType = .photoLibrary
present(imagePicker, animated: true, completion: nil)
}
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
if let pickedImage = info[UIImagePickerControllerEditedImage] as? UIImage {
compImageView?.contentMode = .scaleAspectFit
compImageView?.backgroundColor = UIColor.clear
compImageView?.image = pickedImage
}
dismiss(animated: true, completion: nil)
}
【问题讨论】:
-
显示你的 imagePickerController 方法。
-
您在 ImageView 或 PhotoLibrary 中看到保存的图像?以及为什么要设置两次 compImageView 背景?
-
@LukeStanyer:请将代码放在原始问题中,而不是评论中,并格式化。
-
@AllLelopath 完成感谢您的提示 :)
标签: ios swift image cocoa-touch uiimagepickercontroller