Я хотел бы захватить только изображение в слое предварительного просмотра видео. В настоящее время я установил это так:
[self setCaptureManager:[[[CaptureSessionManager alloc] init] autorelease]];
[[self captureManager] addVideoInputFrontCamera:YES]; // set to YES for Front Camera, No for Back camera
[[self captureManager] addStillImageOutput];
[[self captureManager] addVideoPreviewLayer];
CGRect layerRect = [[[self view] layer] bounds];
[[[self captureManager] previewLayer] setBounds:CGRectMake(0, 0, 320, 400)];//was layerRect
[[[self captureManager] previewLayer] setPosition:CGPointMake(CGRectGetMidX(layerRect),CGRectGetMidY(layerRect))];// was CGPointMake(CGRectGetMidX(layerRect),CGRectGetMidY(layerRect))
[[[self view] layer] addSublayer:[[self captureManager] previewLayer]];
В нынешнем виде слой предварительного просмотра представляет то, что я хочу запечатлеть, но камера также захватывает все, что находится за этими пределами. Я не могу сделать снимок и потом обрезать его, потому что изображение не ориентировано вверх, поэтому CGImageRef
не работает. Есть ли способ захватить только то, что находится в слое предварительного просмотра?