帮酷LOGO
0 0 评论
  • 显示原文与译文双语对照的内容
文章标签:控制  摄像头  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  |  如果智培  |  酷兔英语