Tag: 绘制

只显示UIView的angular落

如何只显示UIView的angular落? let view = UIView() view.layer.borderColor = UIColor.white.cgColor view.layer.borderWidth = 2 let maskframe = UIView(frame: CGRect(x:0, y:0, width:view.frame.width, height:view.frame.height)) view.layer.mask = maskframe.layer.` 这只是掩盖了正确的边缘,我不明白它是如何工作。

从端点调整行大小

我在一个视图上绘制注释。 线条注释引起问题; 我有一个父类的形状(从UIView扩展)。 所有的注释都是形状的子类。 在每个注解类中,我都覆盖了drawRect方法。 DrawingCanvas类(从UIView扩展,是我的viewController的父视图的子视图)处理平移手势。 这是一段代码 -(void) panGestureRecognizer: (UIPanGestureRecognizer *) panGesture { static CGPoint initialPoint; CGPoint translation = [panGesture translationInView:panGesture.view]; static Shape *shape; if(panGesture.state == UIGestureRecognizerStateBegan) { initialPoint = [panGesture locationInView:panGesture.view]; if(selectedShape == nil) { if([selectedOption isEqualToString:@"line"]) { shape = [[Line alloc] initWithFrame:CGRectMake(initialPoint.x, initialPoint.y, 10, 10) isArrowLine:NO]; ((Line *)shape).pointStart = [panGesture.view convertPoint:initialPoint toView:shape]; } […]

如何用渐变色填充贝塞尔path

我的自定义UIView draw(_ rect: CGRect)函数中有一个UIBezierPath 。 我想用渐变色填充path。 请任何人都可以指导我如何做到这一点。 我需要用渐变颜色填充剪辑,然后用黑色描边path。 SO中有一些post不能解决问题。 例如沿着bezierpath的Swift:Gradient(使用CALayers)这篇文章指导了如何在UIView绘制一个图层,但不是在UIBezierPath 。 注意:我正在Swift-3上工作

ios检测线的angular度或程度

我是新来的iOS ,我正在尝试开发一个写意画应用程序,使用uibezierPath有一种方法来计算或接收总线的长度,即使我画了直线,弯曲或一个圆。 我在touchmove方法上使用addline,而我没有任何控制点。

在UIView上绘制点和线

根据我在Apple Swift 网站上find的一个例子,我给自己一个学习Swift的练习: 正如你所看到的,中间有一条河stream和一些点,形成一条小路。 所以我开始在互联网上寻找类似的河stream图像,并创build了一个Xcode游乐场。 这是我现在所拥有的: 所以基本上我有一个UIView子视图,包括我find的河stream图像和用UIBezierPath制作的点。 我的第一个问题是:这是正确的方式来绘制到UIView? 我的意思是使用UIBezierPath 。 而我的第二个问题是:如何在UIView内的精确坐标上绘制点? ( UIBezierPath或其他一切?) 为了更加精确,我的意图是制定一个algorithm,使程序识别图像,并根据像素颜色,从河stream的起点到终点画一条线,从中间穿过。

在iOS 7上疯狂的圆angular矩形UIBezierPath行为。什么是交易?

下面的简单的UIView绘制一个圆angular的矩形。 当我通过一个65或以下的angular半径,它正确的轮,但66和以上,它会产生一个完美的圆圈! 这里发生了什么? 当边angular半径等于边框宽度的1/2时,应该只显示一个圆,但不pipe视图的大小是多less,当半径大约是1/3时,似乎都会画一个圆。 这种行为出现在iOS 7上。在iOS 6上,我得到了预期的行为。 #import "ViewController.h" @interface MyView : UIView @end @implementation MyView -(void)drawRect:(CGRect)rect { UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(0, 0, 200, 200) cornerRadius:65]; CGContextRef c = UIGraphicsGetCurrentContext(); CGContextAddPath(c, path.CGPath); [[UIColor redColor] set]; CGContextStrokePath(c); } @end @interface ViewController () @end @implementation ViewController – (void)viewDidLoad { [super viewDidLoad]; MyView *v = [[MyView alloc] […]

UIbezierpath在可缩放视图中

我在可缩放的UIView(pdf阅读器的绘图层)中绘制了bezierpaths。 当我放大文档UIView也放大,但是所有的图纸和线条看起来更像素化。 有没有办法渲染这些path没有太多的像素化? 它假设贝塞尔path是基于vector的… 提前致谢!

UIBezierPath圆边?

我画了一些线条,我注意到,当边缘达到一定的angular度,它会产生一个像这样的尖锐的边缘: 我想要它画什么: 我该怎么做呢? 我已经浏览了文件,但我似乎没有find任何即时消息寻找。 或者有没有办法把这个自动边缘生成关掉?

IOS UIImage图像颠倒

如果我画我的图片我修复了问题使用CGAffintrasform CGAffineTransform myTr = CGAffineTransformMake(1, 0, 0, -1, 0, backImage.size.height); CGContextConcatCTM(context, myTr); [backImage drawInRect:CGRectMake(cbx, -cby, backImage.size.width, backImage.size.height)]; myTr = CGAffineTransformMake(1, 0, 0, -1, 0, backImage.size.height); CGContextConcatCTM(context, myTr); 当我想写入文件我使用这个 NSData *imageData = UIImageJPEGRepresentation(backImage, 0); 那么图像倒过来怎么样?

平滑手绘的自由形状

我正在创build一个允许用户进行手绘的应用程序。 问题是我在用户移动他的手指点之间画线,所以造成的形状有点锯齿状。 我的问题是如何平滑绘图? 处理这种情况的最好的algorithm是什么?