在相机预览上添加方形叠加

时间:2017-01-09 06:02:39

标签: ios objective-c

我正在尝试制作条形码扫描仪,其中相机预览上方有正方形覆盖,就像许多条形码扫描应用程序一样,外部视图模糊不清。我无法找到添加此类叠加层的解决方案。我使用了AVFoundation Framework,我的相机正在使用整个屏幕,我想在屏幕中央添加叠加层。

3 个答案:

答案 0 :(得分:2)

您可以在叠加层视图中添加图层,该图层在中间是透明的,并使用UIBezierPath在剩余部分中着色。

这是一个示例代码,它将从x 32和y 32绘制方框,并将其填充为透明色。

 UIBezierPath *overlayPath = [UIBezierPath bezierPathWithRect:self.view.bounds];
    [self.view layoutIfNeeded];
    int x = 32;
    int y = 32;
    int overlayWidth = self.view.frame.size.width * 80 * 0.01;
    UIBezierPath *transparentPath = [UIBezierPath bezierPathWithRect:CGRectMake(x, y, overlayWidth, overlayWidth)];
    [overlayPath appendPath:transparentPath];
    [overlayPath setUsesEvenOddFillRule:YES];
    CAShapeLayer *fillLayer = [CAShapeLayer layer];
    fillLayer.path = overlayPath.CGPath;
    fillLayer.fillRule = kCAFillRuleEvenOdd;
    fillLayer.fillColor = [UIColor colorWithRed:0.0/255.0 green:0.0/255.0 blue:0.0/255.0 alpha:0.8].CGColor;
    [self.overlayView.layer addSublayer:fillLayer];

答案 1 :(得分:0)

您好我们可以通过使用AVFoundation实现barocde功能,在此我们可以使用AVCaptureDevice实现该功能很有用,下面的链接将有助于参考它 http://www.appcoda.com/barcode-reader-swift/

答案 2 :(得分:0)

您可以在cameraOverlayView中使用UIImgaePickerController媒体资源。制作自定义视图并将其添加为视图