Ich versuche, eine benutzerdefinierte Kamera Erfahrung auf iOS zu erstellen und das folgende Code-Snippet ist so weit wie ich habe. Grundsätzlich möchte ich die übliche Kameraansicht (d. H. Mit den folgenden Tasten: capture, flash, grid, front/back, cancel). Aber der einzige Unterschied zwischen der normalen Kamera und meiner ist, dass ich ein Quadrat für die Vorschau-Oberfläche möchte; kein Rechteck. Und dann, was du siehst, ist, was du bekommst (WYSIWYG), so dass kein Beschneiden notwendig ist; als hätte der Benutzer zuerst ein quadratisches Bild gemacht.erstellen benutzerdefinierte Kamera mit quadratischen Blick auf iOS
Ich habe auch die Bibliothek https://github.com/danielebogo/DBCamera betrachtet, aber ich sehe nicht, wie man es an mein Ende anpassen kann. Irgendeine Hilfe? Vielen Dank.
MEIN CODE SO FAR:
- (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];
}
Dies ist der einzige Code benutzerdefinierte in einer einzigen Ansicht Projekt auf Xcode
Ich bin ein wenig verwirrt - möchten Sie Ihre eigene Kamera-Ansicht von Grund auf neu erstellen, oder möchten Sie den eingebauten 'UIImagePickerController' verwenden und einfach ein wenig anpassen? – Aleksander
Entweder wäre es okay, solange ich die Kontrolle darüber habe, was passiert. Ich habe auch die Picker-Option angeschaut. aber es scheint Konsens zu geben, dass es ein schlechterer Ansatz ist; Aus diesem Grund habe ich in den letzten Tagen den "von Grund auf" -Ansatz erforscht. –
Ja, der 'UIImagePickerController' ist nicht etwas, was ich persönlich empfehlen würde, wenn Sie die volle Kontrolle haben wollen.Es ist jedoch sehr schnell und einfach zu implementieren. Es bietet eine große Anzahl von Anpassungsoptionen, werfen Sie einen Blick auf diesen Artikel: [link] (http://stackoverflow.com/questions/7639188/ios-camera-with-custom-view) Wenn Sie weitere Optionen wünschen , schau dir dieses Demo-Programm von Apple auf den AV-Klassen an [link] (https://developer.apple.com/library/ios/samplecode/AVCam/Introduction/Intro.html#//apple_ref/doc/uid/ DTS40010112) – Aleksander