KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I am using somebody's source code for capturing image with AVCaptureSession. However,I found that CaptureSessionManager's previewLayer is shotter then the final captured image. I found that the resulted image is always with ratio 720x1280=9:16. Now I want to crop the resulted image to an UIImage with ratio 320:480 so that it will only capture the portion visible in previewLayer. Any Idea? Thanks a lot. Relevant Questions in stackoverflow(NO good answer yet): Q1 , Q2 Source Code: - (id)init { if ((self = [super init])) { [self setCaptureSession:[[[AVCaptureSession alloc] init] autorelease]]; } return self; } - (void)addVideoPreviewLayer { [self setPreviewLayer:[[[AVCaptureVideoPreviewLayer alloc] initWithSession:[self captureSession]] autorelease]]; [[self previewLayer] setVideoGravity:AVLayerVideoGravityResizeAspectFill]; } - (void)addVideoInput { AVCaptureDevice *videoDevice = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo]; if (videoDevice) { NSError *error; if ([videoDevice isFocusModeSupported:AVCaptureFocusModeContinuousAutoFocus] && [videoDevice lockForConfiguration:&error]) { [videoDevice setFocusMode:AVCaptureFocusModeContinuousAutoFocus]; [videoDevice unlockForConfiguration]; } AVCaptureDeviceInput *videoIn = [AVCaptureDeviceInput deviceInputWithDevice:videoDevice error:&error]; if (!error) { if ([[self captureSession] canAddInput:videoIn]) [[self captureSession] addInput:videoIn]; else NSLog(@"Couldn't add video input"); } else NSLog(@"Couldn't create video i
Tags (comma-separated)
Save Edits
Cancel