UIImageCropper 1.4.0

UIImageCropper 1.4.0

Jari Kalinainen维护。



  • Jari Kalinainen

UIImageCropper

简单的图片裁剪工具,适用于UIImagePickerController,支持自定义裁剪宽高比。纯Swift 4编写!

替代iOS的“仅裁剪至方形”功能。只需几行代码即可使用代理方法轻松设置。

要求

  • iOS10+
  • Xcode 9.2+
  • Swift 4

安装

UIImageCropper通过CocoaPods提供。要安装它,只需将以下行添加到您的Podfile中

pod 'UIImageCropper'

(或者将UIImageCropper文件夹添加到您的项目中)

用法

导入pod

import UIImageCropper

创建UIImageCropper和UIImagePickerController的实例(可选,如果裁剪现有的UIImage)

UIImageCropper可以接受cropRatio作为参数。默认比率为1(正方形)。

let picker = UIImagePickerController()
let cropper = UIImageCropper(cropRatio: 2/3)

设置UIImageCropper

cropper.picker = picker
cropper.delegate = self
//cropper.cropRatio = 2/3 //(can be set with variable, before cropper is presented, or in cropper init)
//cropper.cropButtonText = "Crop" // button labes can be localised/changed
//cropper.cancelButtonText = "Cancel"

如果只是裁剪现有的UIImage,则无需设置picker,只需要代理即可。只需给出要裁剪的图像并展示。

cropper.picker = nil // Make sure not set the picker when doing existing image cropping
cropper.image = UIImage(named: "image")
viewController.present(cropper, animated: true, completion: nil)

在两种情况下实现UIImageCropperProtocol代理方法

func didCropImage(originalImage: UIImage?, croppedImage: UIImage?) {
    imageView.image = croppedImage
}

//optional (if not implemented cropper will close itself and picker)
func didCancel() {
    picker.dismiss(animated: true, completion: nil)
}

UIImageCropper将处理图像选择(代理方法)。要开始图像选择,只需展示UIImagePickerController实例。

self.present(self.picker, animated: true, completion: nil)

查看完整使用示例,请参见示例文件夹中的 CropperExample

问题和贡献

如果您发现任何问题,请向此存储库添加问题。

欢迎提交改进和/或修复的拉取请求。

作者

Jari Kalinainen, jari(a)klubitii.com

许可证

UIImageCropper 在 MIT 许可证下可用。有关更多信息,请参阅 LICENSE 文件。