分分钟钟搞定iOS自定义相机

本文详细介绍了如何在iOS中创建自定义相机,包括声明和初始化对象、拍照、保存照片、切换前后置摄像头、调整相机参数以及解决常见问题,如焦点位置、对焦和曝光等。
摘要由CSDN通过智能技术生成
相机属于系统硬件,这就需要我们来手动调用iPhone的相机硬件,分为以下步骤:
分分钟钟搞定iOS自定义相机
2016-03-30 上午9.51.09.png
1、首先声明以下对象
#import
//捕获设备,通常是前置摄像头,后置摄像头,麦克风(音频输入)
@property ( nonatomic , strong ) AVCaptureDevice *device;

//AVCaptureDeviceInput 代表输入设备,他使用AVCaptureDevice 来初始化
@property ( nonatomic , strong ) AVCaptureDeviceInput *input;

//输出图片
@property ( nonatomic , strong ) AVCaptureStillImageOutput *imageOutput;

//session:由他把输入输出结合在一起,并开始启动捕获设备(摄像头)
@property ( nonatomic , strong ) AVCaptureSession *session;

//图像预览层,实时显示捕获的图像
@property ( nonatomic , strong ) AVCaptureVideoPreviewLayer *previewLayer;
2、初始化各个对象
- ( void )cameraDistrict
{
// AVCaptureDevicePositionBack 后置摄像头
// AVCaptureDevicePositionFront 前置摄像头
self .device = [ self cameraWithPosition: AVCaptureDevicePositionFront ];
self .input = [[ AVCaptureDeviceInput alloc] initWithDevice: self .device error: nil ];

self .imageOutput = [[ AVCaptureStillImageOutput alloc] init];

self .session = [[ AVCaptureSession alloc] init];
// 拿到的图像的大小可以自行设定
// AVCaptureSessionPreset320x240
// AVCaptureSessionPreset352x288
// AVCaptureSessionPreset640x480
// AVCaptureSessionPreset960x540
// AVCaptureSessionPreset1280x720
// AVCaptureSessionPreset1920x1080
// AVCaptureSessionPreset3840x2160
self .session .sessionPreset = AVCaptureSessionPreset640x480 ;
//输入输出设备结合
if ([ self .session canAddInput: self .input ]) {
[ self .session addInput: self .input ];
}
if ([ self .session canAddOutput: self .imageOutput ]) {
[ self .session addOutput: self .imageOutput ];
}
//预览层的生成
self .previewLayer = [[ AVCaptureVideoPreviewLayer alloc] initWithSession: self
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值