Я пытаюсь создать пользовательский опыт работы с камерой в iOS, и следующий фрагмент кода доходит до меня. В основном я хочу обычный просмотр камеры (т. Е. Со следующими кнопками: захват, вспышка, сетка, фронт/назад, отмена). Но единственная разница между нормальной камерой и моей - это то, что я хочу квадрат для поверхности предварительного просмотра; а не прямоугольник. И тогда то, что вы видите, это то, что вы получаете (WYSIWYG), чтобы не было необходимости в обрезке; так как пользователь взял бы квадратную картинку в первую очередь.Создание пользовательской камеры с квадратным видом на iOS
Я также смотрел на библиотеку https://github.com/danielebogo/DBCamera, но я не вижу, как настроить его до конца. Любая помощь? Благодарю.
МОЙ КОД ПОКА:
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
//Capture Session
AVCaptureSession *session = [[AVCaptureSession alloc]init];
session.sessionPreset = AVCaptureSessionPresetPhoto;
//Add device
AVCaptureDevice *device =
[AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
//Input
AVCaptureDeviceInput *input = [AVCaptureDeviceInput deviceInputWithDevice:device error:nil];
if (!input)
{
NSLog(@"No Input");
}
[session addInput:input];
//Output
AVCaptureVideoDataOutput *output = [[AVCaptureVideoDataOutput alloc] init];
[session addOutput:output];
output.videoSettings =
@{ (NSString *)kCVPixelBufferPixelFormatTypeKey : @(kCVPixelFormatType_32BGRA) };
//Preview Layer
AVCaptureVideoPreviewLayer *previewLayer = [[AVCaptureVideoPreviewLayer alloc] initWithSession:session];
UIView *myView = self.view;
previewLayer.frame = myView.bounds;
previewLayer.videoGravity = AVLayerVideoGravityResizeAspectFill;
[self.view.layer addSublayer:previewLayer];
//Start capture session
[session startRunning];
}
Это единственный пользовательский код в одном проекте вид на Xcode
Я немного смущен - вы хотите создать свой собственный просмотр с нуля с нуля или хотите использовать встроенный 'UIImagePickerController' и немного настроить его немного? – Aleksander
Либо один будет в порядке, если я получу хороший контроль над тем, что происходит. Я также смотрел на вариант Picker; но, похоже, существует консенсус в отношении того, что этот подход является более низким; поэтому я изучаю подход «с нуля» в течение последних нескольких дней. –
Да, 'UIImagePickerController' - это не то, что я лично рекомендую, если вы хотите получить полный контроль.Тем не менее, это очень быстро и легко реализовать. Он предоставляет множество вариантов настройки, взгляните на это сообщение: [link] (http://stackoverflow.com/questions/7639188/ios-camera-with-custom-view) Если вы хотите больше опций , перейдите к этой демонстрационной программе от Apple на AV-классах [link] (https://developer.apple.com/library/ios/samplecode/AVCam/Introduction/Intro.html#//apple_ref/doc/uid/ DTS40010112) – Aleksander