设为首页 加入收藏

TOP

Swift - 自动优化照片,改善图像质量(一)
2017-10-10 12:18:50 】 浏览:9855
Tags:Swift 自动 优化 照片 改善 图像 质量

copy地址:http://www.hangge.com/blog/cache/detail_902.html,这个网站不错,里面的东西挺实用,研究并自己敲一敲或者做成直接用的类是不错的选择.

这里是本人的地址,他那里的地址算是写死的,但是我这边不打算写死.所以加了拍照优化的功能,代码如下:(但是有一个BUG暂时无法解决,待解决了我再补充,大家自己用起来就知道在哪里了)

import UIKit

 

//从相册选取或者拍照需要实现UIImagePickerControllerDelegate UINavigationControllerDelegate

class ViewController: UIViewController ,UIImagePickerControllerDelegate,UINavigationControllerDelegate{

    

    @IBOutlet weak var imageView: UIImageView!

    var chooseImage: UIImage = UIImage()

    

    //图片原图

//    lazy var originalImage: UIImage = UIImage(named: "jobZ.png")!

//    

//    lazy var context: CIContext = CIContext(options: nil)

 

    

    lazy var context: CIContext = {

        return CIContext(options: nil)

    }()

    

    override func viewDidLoad() {

//        self.imageView.image = UIImage(named: "jobZ.png")

    }

    

    //美化图片

    @IBAction func autoAdjustImage(sender: UIButton) {

        

        var inputImage = CIImage(image: self.chooseImage)

        let options:[String : AnyObject] = [CIDetectorImageOrientation:1] //图片方向

        let filters = inputImage!.autoAdjustmentFiltersWithOptions(options)

        //遍历所有滤镜,依次处理图像

        for filter: CIFilter in filters {

            filter.setValue(inputImage, forKey: kCIInputImageKey)

            inputImage = filter.outputImage

        }

        let cgImage = context.createCGImage(inputImage!, fromRect: inputImage!.extent)

        self.imageView.image = UIImage(CGImage: cgImage)

    }

    

    //选取图片

    @IBAction func chooseImage(sender: UIButton) {

        if UIImagePickerController.isSourceTypeAvailable(.PhotoLibrary){

            //初始化图片控制器

            let picker = UIImagePickerController()

            //设置代理

            picker.delegate = self

            //指定图片控制器类型  source我这里写的是用拍照,如果想用图库后面值改成UIImagePickerControllerSourceType.PhotoLibrary即可

            picker.sourceType = UIImagePickerControllerSourceType.Camera

            //如果有前置摄像头则调用前置摄像头

            if UIImagePickerController.isCameraDeviceAvailable(UIImagePickerControllerCameraDevice.Front){

                picker.cameraDevice = UIImagePickerControllerCameraDevice.Front

            }

            //弹出控制器,显示界面

            self.presentViewController(picker, animated: true, completion: {

                () -> Void in

     

首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇用Swift重写公司OC项目(Day2--swi.. 下一篇swift泛型的5个要点和代码

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目