swift 2 仅在方形模式下打开相机
Posted
技术标签:
【中文标题】swift 2 仅在方形模式下打开相机【英文标题】:swift 2 open camera in square mode only 【发布时间】:2015-10-16 01:44:40 【问题描述】:到目前为止,我的相机工作正常,它以常规格式打开。但我希望唯一的选择是方形格式。
这是我目前的代码。
@IBAction func takePhoto(sender: AnyObject)
let picker = UIImagePickerController()
picker.delegate = self
picker.sourceType = .Camera
presentViewController(picker, animated: true, completion: nil)
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject])
imageView.image = info[UIImagePickerControllerOriginalImage] as? UIImage
dismissViewControllerAnimated(true, completion: nil)
【问题讨论】:
【参考方案1】:我认为您不能使用 UIImagePickerController 以方形格式打开相机。您可以做的是将 UIImagePickerController allowEditing 设置为 YES 并从结果字典中使用键 UIImagePickerControllerEditedImage 然后您将获得平方图像,因此您的代码变为 .
@IBAction func takePhoto(sender: AnyObject)
let picker = UIImagePickerController()
picker.delegate = self
picker.sourceType = .Camera
picker.allowsEditing = true
presentViewController(picker, animated: true, completion: nil)
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject])
imageView.image = info[UIImagePickerControllerEditedImage] as? UIImage
dismissViewControllerAnimated(true, completion: nil)
answer 中提到了另一种方法。 您可以使用答案中的逻辑快速编写代码。
但是,如果您想查看详细信息并尝试做更多,请查看
AVFoundation, AVCaptureConnection, AVCaptureDevice AVCaptureDeviceInput AVCaptureSession AVCaptureStillImageOutput AVCaptureVideoDataOutput AVCaptureVideoPreviewLayer CoreImage也看苹果sample。
【讨论】:
感谢您的回复,我试图找出答案超链接,但我无法理解它......您是否可以将它放在上下文或示例中。谢谢 我的回答有你的选择。首先是使用编辑,其次是一种方法,第三是不使用 UIImagePickerController。第三,我发布了指向苹果 SquareCam 示例的链接,即developer.apple.com/library/ios/samplecode/SquareCam/… 前两个选项很简单,您还需要关于这些的帮助(代码)吗? 我对 swift 还是有点陌生,但这些答案不是目标 C 中的吗?如果我弄错了,我深表歉意 是的 Apple 示例和答案在 Objc 中,但您可以使用逻辑在 swift 中编写代码。以上是关于swift 2 仅在方形模式下打开相机的主要内容,如果未能解决你的问题,请参考以下文章