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 仅在方形模式下打开相机的主要内容,如果未能解决你的问题,请参考以下文章

意图以方形模式打开默认相机

相机仅在人像模式下快速拍照

swift 仅在调试模式下打印。不在发布模式。

如何仅在 Swift 中访问从相机拍摄的图像,就像 iOS 中的画廊一样?

如何在全景/照片球模式下直接打开相机?

Swift Camera App - 左右启用横向模式