gpt4 book ai didi

swift - 如何让 ImagePicker 为 Firebase 中的所有用户生成标准圆形图像?

转载 作者:行者123 更新时间:2023-11-28 11:30:44 27 4
gpt4 key购买 nike

所以我有一个图像选择器,但它不会强制将图像切割成一个圆圈,以便它们是统一的。

我曾尝试使用 CropViewController 和 RSKImageCropper,但出现了各种错误。

 @IBAction func press(_ sender: Any) {

imagePicker = UIImagePickerController()
imagePicker.delegate = self

if UIImagePickerController.isSourceTypeAvailable(.camera){
imagePicker.sourceType = UIImagePickerControllerSourceType.photoLibrary
imagePicker.cameraCaptureMode = .photo
} else {
imagePicker.sourceType = .photoLibrary
}
self.present(imagePicker, animated: true, completion: nil)
self.imagePicker.allowsEditing = true
}

////再往下

func cropViewController(_ cropViewController: TOCropViewController?, didCropToCircularImage image: UIImage?, with cropRect: CGRect, angle: Int) {
// 'image' is the newly cropped, circular version of the original image
}

UIImagePickerControllerDelegate 方法

extension FeedVC : UIImagePickerControllerDelegate, UINavigationControllerDelegate {

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
let image = info[UIImagePickerControllerOriginalImage] as! UIImage
self.takenImage = image
self.UIImageView.image = self.takenImage
self.dismiss(animated: true, completion: nil)

if UIImageView.image == nil {
//Do stuff for nil image
}
}

func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
self.dismiss(animated: true, completion: nil)
}
}

最后,我需要的是图像选择器将图像裁剪成圆形,使其均匀。

最佳答案

您还可以裁剪图像正方形大小,例如 40x40,然后设置 UIImageView 属性以获得圆形可见性。

override func viewDidLoad() {
super.viewDidLoad()
imageView.clipsToBounds = true
}

override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
imageView.layer.cornerRadius = imageView.frame.width / 2
}

并确保 imageView 约束具有 1:1 的纵横比

关于swift - 如何让 ImagePicker 为 Firebase 中的所有用户生成标准圆形图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56790946/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com