Tag: 相机覆盖

AVCaptureSession VS UIImagePickerController相机预览

我正在开发一个类似于Instagram iOS应用程序的应用程序。 Instagram有一个自定义相机预览。 我想开发类似的东西,问题是 – 什么更好的用于这个目的 – 具有自定义cameraOverlayView属性的UIImagePickerController还是应该使用AVCaptureSession? 也许有人有这样的经验,可以给我一个build议。 将不胜感激。

UIImagePickerController自定义FlashModebutton不工作在IOS 10(迅速)

我知道这个types的问题已经被问到了,但是我仔细地debugging了一下,我发现当我把这个标志关掉的时候 self.picker.showsCameraControls = false 那么自定义Flashbutton不会响应,但是如果我将标志更改为 self.picker.showsCameraControls = true 然后我的自定义闪光灯button响应OK,我已经检查所有代表和标志,但我无法指出错误,无论是在我的代码或它是在IOS 10版本,如果它在我的代码,然后显示相机控制为什么我的自定义闪光灯button更改闪光灯的状态并正常工作 这里是我的代码更好的理解: func configureImagePicker(){ self.picker.delegate = self self.picker.allowsEditing = false if UIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.Camera) { self.picker.sourceType = UIImagePickerControllerSourceType.Camera self.picker.mediaTypes = [kUTTypeImage as String] } } func showImagePicker(){ if UIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.Camera){ self.picker.sourceType = UIImagePickerControllerSourceType.Camera self.picker.showsCameraControls = false self.picker.delegateController = self self.picker.delegate = self self.picker.mediaTypes = [kUTTypeImage as String] self.picker.allowsEditing = […]

CameraView中的图像与叠加。 (Swift 3)?

我刚刚解决了这个问题。 感谢一些很好的帮助,让我走上正轨。 这是我现在的代码。 基本上,我现在可以从绘制的覆盖图和相机预览中制作图像。 但还不能把它们结合起来。 似乎很less有用的代码,我可以find这个简单的。 所以重要的部分是在顶部的扩展块,以及在代码底部附近的func saveToCamera()。 总之,我想现在我有两个我需要的图像。 myImage的快照出现在白色背景上 – 所以不知道这是否是自然的。 这就是它出现在模拟器上的原因。 所以这可能是自然的。 图像1.屏幕截图。 图2.根据说明保存的myImage图像。 import UIKit import AVFoundation import Foundation // extension must be outside class extension UIImage { convenience init(view: UIView) { UIGraphicsBeginImageContext(view.frame.size) view.layer.render(in: UIGraphicsGetCurrentContext()!) let image = UIGraphicsGetImageFromCurrentImageContext() UIGraphicsEndImageContext() self.init(cgImage: (image?.cgImage)!) } } class ViewController: UIViewController { @IBOutlet weak var navigationBar: […]

在iOS中的cameraoverlay视图(comepicker)exlusive touch?

在我的应用程序中,我添加了cameraOverlayView的comerapicker。 它包含三个子视图,两个UIButtons和一个UIImageView 。 图像是可拖动的。 这些button用于将图像更改为另一个。 当我触摸一个button或图像时,相机的点击对焦矩块将始终显示在下方(并且实际焦点将改变)。 在所有三个子视图中将exclusiveTouch设置为YES不会改变行为。 任何想法,我怎么能阻止comerapicker得到我的覆盖视图的button/子视图的触摸(但仍然获得触摸对焦,切换相机等)? 给一些更多的信息。 我正在使用下面的代码,以允许在重叠视图中进行相机交互,哪些子视图仍然可以触及。 // CameraOverlayView.m […] // ignore touches on this view, but not on the subviews -(id)hitTest:(CGPoint)point withEvent:(UIEvent *)event { id hitView = [super hitTest:point withEvent:event]; if (hitView == self) return nil; else return hitView; }

iOS – 在相机上定位自定义覆盖(垂直alignment)。 顶部黑色栏的大小

我正在寻找一个程序化的解决scheme,以解决以下问题:我想在相机(iOS)上绘制自定义覆盖。 我希望它在摄像机输出视图中垂直居中。 我已经完成了相对于屏幕绘制我的自定义视图,但不是相机图片。 要做到这一点,我需要获得顶部黑色栏的大小 。 我怎么才能得到它? 顶部和底部的酒吧大小不相等,这就是为什么我得到的图片有这个恼人的y偏移到底部。 注意结果图片的偏移量:

cameraOverlayView防止编辑与允许编辑

编辑照片后(移动和缩放)在我的应用程序中正常工作: [imagePicker setAllowsEditing:YES]; 但是,如果我也使用cameraOverlayView,编辑模式不再工作。 屏幕出现,但平底锅和捏手势不会使任何事情发生。 我正在使用您的平均图像select控制器: UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init]; 我添加一个相机覆盖视图,从自定义视图控制器的视图创build: CameraOverlayViewController *overlayController = [[CameraOverlayViewController alloc] init]; UIView *overlayView = overlayController.view; [imagePicker setCameraOverlayView:overlayView]; 在IB中,该视图设置为允许用户交互和多点触摸,这允许在拍摄照片时缩放和聚焦。 但一旦拍摄照片并进入编辑模式,您将无法平移或缩小以移动或缩放照片。 我错过了什么?

如何用叠加视图loggingvideo

嗨,我试图用覆盖录制video。 我已经写了: -(void)addOvelayViewToVideo:(NSURL *)videoURL 在录制的video上添加叠加视图,但不起作用。 我编写了代码来使用AVCaptureSession在viewDidLoadloggingvideo。 //In ViewDidLoad //CONFIGURE DISPLAY OUTPUT self.previewLayer = [AVCaptureVideoPreviewLayer layerWithSession:self.captureSession]; [self.previewLayer setVideoGravity:AVLayerVideoGravityResizeAspectFill]; self.previewLayer.frame = self.view.frame; [self.view.layer addSublayer:self.previewLayer]; -(void)captureOutput:(AVCaptureFileOutput *)captureOutput didFinishRecordingToOutputFileAtURL:(NSURL *)outputFileURL fromConnections:(NSArray *)connections error:(NSError *)error { if(error.code != noErr) { id value = [[error userInfo] objectForKey:AVErrorRecordingSuccessfullyFinishedKey]; if(value) { isSuccess = [value boolValue]; } } if(isSuccess) { ALAssetsLibrary *assetsLibrary = [[ALAssetsLibrary […]