拍照的一些应用

原创 2015年11月19日 19:50:09

从相册中获取一些照片,可以直接打开模拟器的相册,随后拖入一张照片即可

从相册中获取照片 并显示出来 可以分为以下几步

1 判断是否支持要使用的图片库或相册功能

2 初始化图片控制器对象

3指定图片控制器的代理

4指定图片控制器的类型

5弹出图片控制器

6实现图片控制器代理方法

在sb拖进一个Button 为start 

随后代码如下

import UIKit
//实现照片的代理
class ViewController: UIViewController,UIImagePickerControllerDelegate,UINavigationControllerDelegate{
    override func viewDidLoad() {
    super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        }
         override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
            }
    @IBAction func change(sender: UIButton) {
        //判断设置是否支持图片库
        if UIImagePickerController.isSourceTypeAvailable(.PhotoLibrary) {
            //初始化图片控制器
            let picker = UIImagePickerController()
            //设置代理
            picker.delegate = self
            //指定图片控制器的类型
            picker.sourceType = UIImagePickerControllerSourceType.PhotoLibrary
            //弹出控制器 显示界面
            self.presentViewController(picker, animated: true, completion: nil )
        }else {
            let alert = UIAlertController(title: "读取错误", message: nil, preferredStyle: UIAlertControllerStyle.Alert)
            //提醒框的tanchu
            self.presentViewController(alert, animated: true, completion: nil)
            
        }
    }
    //选择图片成功后代理
    func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {
        print(info)
    //获取选择的图片
        let image = info[UIImagePickerControllerOriginalImage] as! UIImage
        //赋值图片显示
        var imageView = UIImageView(image: image)
        self.view.addSubview(imageView)
        picker.dismissViewControllerAnimated(true, completion: nil )
    }
    //取消图片控制器代理
    func imagePickerControllerDidCancel(picker: UIImagePickerController) {
        //图片控制器的推出
        picker.dismissViewControllerAnimated(true, completion: nil )
    }
    }

拍照功能也和上述的差不多

import UIKit
//实现照片的代理
class ViewController: UIViewController,UIImagePickerControllerDelegate,UINavigationControllerDelegate{
    //初始化图片控制器
let picker = UIImagePickerController()
    override func viewDidLoad() {
    super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        }
         override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
            }
    @IBAction func change(sender: UIButton) {
        //判断设置是否支持图片库
        if UIImagePickerController.isSourceTypeAvailable(.Camera) {
           
            //设置代理
            picker.delegate = self
            //指定图片控制器的类型
            picker.sourceType = UIImagePickerControllerSourceType.Camera
            //允许编辑
            picker.allowsEditing = true
            //打开相机
            self.presentViewController(picker, animated: true, completion: nil )
        }else {
            let alert = UIAlertController(title: "找不到相机", message: nil, preferredStyle: UIAlertControllerStyle.Alert)
            //提醒框的tanchu
            self.presentViewController(alert, animated: true, completion: nil)
            
        }
  //设置前置的镜头
        if UIImagePickerController.isCameraDeviceAvailable(UIImagePickerControllerCameraDevice.Front) {
         picker.cameraDevice = UIImagePickerControllerCameraDevice.Front
        }
        //设置闪光灯
        picker.cameraFlashMode = UIImagePickerControllerCameraFlashMode.On
    }
       }
因为模拟器没有相机所以会线程崩溃



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Android应用程序拍照行为C层拦截实现

实现android应用程序拍照行为的C层拦截,其主要技术难点有进程注入技术、binder通信拦截、binder通信数据包解析。前两个技术网上已有好多源码提供(见参考资料),现对应用程序拍照过程中的bi...

Delphi for iOS开发指南(11):在iOS应用程序中拍照并共享照片

在开始这篇教程之前,你应该预先阅读并按下面的这篇教程实际操作过:   iOS开发指南(4)::在iOS应用程序中使用不同风格的Button组件   这篇教程涵盖了下面常用的任务:在iOS应...

Android多媒体应用开发-控制摄像头拍照

【原文:http://www.linuxidc.com/Linux/2012-08/67202.htm】 现在的手机的功能可谓是五花八门,手机照相功能就是特别突出的一点,现在的手机照相机甚至...

如何使用HTML5实现拍照上传应用

在HTML5规范的支持下,WebApp在手机上拍照已经成为可能。在下面,我将讲解Web App如何用手机进行拍照,显示在页面上并上传到服务器。 1、 视频流 HTML5 The Media Captu...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)