帮酷LOGO
  • 显示原文与译文双语对照的内容
文章标签:控制  摄像头  pick  CROP  camera-view  挖掘  图像  控制器  
A camera view controller with custom image picker and image cropping. Written in Swift.

  • 源代码名称:ALCameraViewController
  • 源代码网址:http://www.github.com/AlexLittlejohn/ALCameraViewController
  • ALCameraViewController源代码文档
  • ALCameraViewController源代码下载
  • Git URL:
    git://www.github.com/AlexLittlejohn/ALCameraViewController.git
  • Git Clone代码到本地:
    git clone http://www.github.com/AlexLittlejohn/ALCameraViewController
  • Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/AlexLittlejohn/ALCameraViewController
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
  • ALCameraViewController

    带有自定义图像选取器和图像裁剪的相机视图控制器。

    cameracropperlibrarypermissions

    特性

    • 正面和后面摄像头
    • 简单简洁的外观
    • 具有权限检查的自定义图像选取器
    • 图片剪裁
    • 指示灯闪烁
    • 缩放
    • 点击以聚焦

    安装&要求

    这里项目要求 Xcode 9运行并使用 Swift 4编译

    注意:这个库使用的AVFoundation摄像机在iOS模拟器上不可以用。 你需要一个真正的装置来运行它。

    CocoaPods: 将以下内容添加到你的Podfile:

    pod 'ALCameraViewController'

    Swift 3.2支持

    pod 'ALCameraViewController', '~> 2.0.3'

    Carthage:

    github "alexlittlejohn/ALCameraViewController"

    隐私( iOS 10 )

    如果你正在使用 iOS 10或者更新的应用程序构建应用程序,你需要向应用程序添加两个隐私密钥。

    将以下键添加到 Info.plist,添加带有希望在提示用户时提供的说明的字符串。

     NSPhotoLibraryUsageDescription
     NSCameraUsageDescription

    用法

    使用这里组件不能更简单。 将 import ALCameraViewController 添加到控制器文件的顶部。

    在viewController中

    let cameraViewController = CameraViewController { [weakself] image, asset in// Do something with your image here.self?.dismiss(animated: true, completion: nil)
    }present(cameraViewController, animated: true, completion: nil)

    参数

    有许多可以配置的选项可以供 CameraViewController 使用

    init(croppingParameters: CroppingParameters =CroppingParameters(),
     allowsLibraryAccess: Bool=true,
     allowsSwapCameraOrientation: Bool=true,
     allowVolumeButtonCapture: Bool=true,
     completion: @escaping CameraViewCompletion)

    Cropping参数结构接受以下参数

    init(isEnabled: Bool=false,
     allowResizing: Bool=true,
     allowMoving: Bool=true,
     minimumSize: CGSize =CGSize(width: 60, height: 60))

    success参数返回一个 UIImage? 和一个 PHAsset?,用于更高级的用例。 如果用户取消了照片捕获,那么这两个选项都将是 nil

    typealiasCameraViewCompletion= (UIImage?, PHAsset?) ->Void

    注意:为了防止保留循环,最好在成功参数中使用 [weak self] 引用

    其他使用选项

    你也可以自己实例化图像选取器组件。

    let croppingEnabled =true/// Provides an image picker wrapped inside a UINavigationController instancelet imagePickerViewController = CameraViewController.imagePickerViewController(croppingEnabled: croppingEnabled) { [weakself] image, asset in// Do something with your image here.// If cropping is enabled this image will be the cropped versionself?.dismiss(animated: true, completion: nil)
    }present(imagePickerViewController, animated: true, completion: nil)

    若要获得更多控制权,可以直接创建。

    注意:这种方法需要对苹果提供的PhotoKit库有所了解

    importPhotoslet imagePickerViewController =PhotoLibraryViewController()
    imagePickerViewController.onSelectionComplete= { asset in// The asset could be nil if the user doesn't select anythingguardlet asset = asset else {
     return }
     // Provides a PHAsset object// Retrieve a UIImage from a PHAsset usinglet options =PHImageRequestOptions()
     options.deliveryMode=. highQualityFormat options.isNetworkAccessAllowed=true PHImageManager.default().requestImage(for: asset, targetSize: PHImageManagerMaximumSize, contentMode:. aspectFill, options: options) { image, _iniflet image = image {
     // Do something with your image here }
     }
    }present(imagePickerViewController, animated: true, completion: nil)

    许可证

    ALCameraViewController在MIT许可证下可用。 有关详细信息,请参阅许可证文件。



    文章标签:控制  图像  VIEW  控制器  摄像头  pick  挖掘  CROP  

    Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备05059198号-3  |  如果智培  |  酷兔英语