ios – 相机打开时如何绘制网格线avcapturemanager

ios – 相机打开时如何绘制网格线avcapturemanager,第1张

概述我想显示网格线,就像相机打开时出现的那样.我正在使用AVCaptureManager.我应该使用核心图形来绘制网格线吗?这些网格线的大小是多少? 谢谢 您确实可以在相机视图上添加自定义视图作为叠加层,以使用QuartzCore绘制网格. 这就是我在我的应用程序Subvision中做到的方式: 我用来绘制它的代码(注意:我的网格是可调整的,所以它可以是10×10,2×2等): // -------- 我想显示网格线,就像相机打开时出现的那样.我正在使用AVCaptureManager.我应该使用核心图形来绘制网格线吗?这些网格线的大小是多少?

谢谢

解决方法 您确实可以在相机视图上添加自定义视图作为叠加层,以使用QuartzCore绘制网格.

这就是我在我的应用程序Subvision中做到的方式:

我用来绘制它的代码(注意:我的网格是可调整的,所以它可以是10×10,2×2等):

// -------------------------------------------------------------------------------// Used for drawing the grIDs ontop of the vIEw port// -------------------------------------------------------------------------------- (voID)drawRect:(CGRect)rect{    CGContextRef context = UIGraphicsGetCurrentContext();    CGContextSetlinewidth(context,0.5);    CGContextSetstrokecolorWithcolor(context,[UIcolor whitecolor].CGcolor);    // ---------------------------    // Drawing column lines    // ---------------------------    // calculate column wIDth    CGfloat columnWIDth = self.frame.size.wIDth / (self.numberOfColumns + 1.0);    for(int i = 1; i <= self.numberOfColumns; i++)    {        CGPoint startPoint;        CGPoint endPoint;        startPoint.x = columnWIDth * i;        startPoint.y = 0.0f;        endPoint.x = startPoint.x;        endPoint.y = self.frame.size.height;        CGContextMovetoPoint(context,startPoint.x,startPoint.y);        CGContextAddlinetoPoint(context,endPoint.x,endPoint.y);        CGContextstrokePath(context);    }    // ---------------------------    // Drawing row lines    // ---------------------------    // calclulate row height    CGfloat rowHeight = self.frame.size.height / (self.numberOfRows + 1.0);    for(int j = 1; j <= self.numberOfRows; j++)    {        CGPoint startPoint;        CGPoint endPoint;        startPoint.x = 0.0f;        startPoint.y = rowHeight * j;        endPoint.x = self.frame.size.wIDth;        endPoint.y = startPoint.y;        CGContextMovetoPoint(context,endPoint.y);        CGContextstrokePath(context);    }}

在我的GrIDVIEw类中,我定义了2个属性numberOfRows和numberOfColumns:

#import <UIKit/UIKit.h>@interface GrIDVIEw : UIVIEw@property (nonatomic,assign) int numberOfColumns;@property (nonatomic,assign) int numberOfRows;@end

这样做意味着我可以修改这两个值并具有无限可调的网格细分.

总结

以上是内存溢出为你收集整理的ios – 相机打开时如何绘制网格线avcapturemanager全部内容,希望文章能够帮你解决ios – 相机打开时如何绘制网格线avcapturemanager所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1109042.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存