草庐IT

uibezierpath

全部标签

ios - 选择时更改 UIBezierPath 颜色

我在LayoutView中绘制了3个正方形-(void)drawRect:(CGRect)rectself.room1=[UIBezierPathbezierPathWithRect:CGRectMake(81,10,60,60)];[self.normalColorsetFill];[self.room1fill];[[UIColorblackColor]setStroke];self.room1.lineWidth=1;[self.room1stroke];然后我找到正确的UIBezierPath-(void)touchesBegan:(NSSet*)toucheswithEven

ios - 在 SQLite 中保存 UIBezierPath

我正在使用UIBezierPath在View上绘制手绘注释。我想将它保存在SQLite中,以便在用户打开该View时绘制该View。有什么方法可以在SQLite中保存UIBezierPath,这样我就可以随时使用它来绘制View。 最佳答案 您可以将其序列化为数据(以NSData实例的形式),因为UIBezierPath符合NSCoding(即NSData*data=[NSDataarchivedDataWithRootObject:yourPath]另一种选择可能是与SVG相互转换并保存。

ios - Objective C UIBezierPath 路径关闭问题

我尝试六边形,但我在关闭路径中遇到了一些问题。这是我的六边形,闭合路径不平滑。这是我的绘图代码CAShapeLayer*shapeLayer=[CAShapeLayerlayer];UIBezierPath*path=[UIBezierPathbezierPath];//[pathsetLineJoinStyle:kCGLineJoinRound];//[pathsetLineJoinStyle:kCGLineJoinBevel];[pathsetLineJoinStyle:kCGLineJoinMiter];//CGFloatdashes[]={6,2};//[pathsetLine

iphone - 不规则形状的 UIBezierPath 填充

我正在制作一些自定义控件。控件的subview之一是透明的UIView,其中绘制了UIBezierPath路径。在其中一张照片上,我们只说UIBezierPath的边框(称为[pathstroke]),但在第二张照片上,您可以看到当我调用[pathfill]时会发生什么。我想要填充路径以创建类似于第一张照片上的形状。此透明UIView的drawRect方法如下。-(void)drawRect:(CGRect)rect{//Drawingcode[superdrawRect:rect];UIBezierPath*path;[[UIColorgreenColor]setStroke];[[

ios - 将 QuadCurve 添加到 UIBezierPath

我正在做一个绘图应用程序,我正在尝试平滑我用手指绘制的线条。为此,我正在使用“quadCurveToPoint”函数。但是,我没有做对。下面是我的代码:-(void)drawRect:(CGRect)rect{[pathstroke];}-(id)initWithFrame:(CGRect)frame{if(self=[superinitWithFrame:frame])self.multipleTouchEnabled=NO;path=[UIBezierPathbezierPath];path.lineWidth=IS_IPAD?2.0f:1.0f;returnself;}-(voi

ios - 具有多个弧的 UIBezierPath

你好我正在尝试在View中绘制具有动态宽度的圆弧。我已经构建了一个包含多个带弧形UIBezierPath的ARRAY,然后我一个接一个地绘制。这是代码:-(void)drawRect:(CGRect)rect{//DrawingcodeCGFloatradious;if(self.bounds.size.width通过这种方式,我得到了正确的形状,但是,我在弧线之间得到了一条烦人的线:我认为问题可能出在弧之间变化的属性上,但我完全迷失了,或者也许有另一种更好的方法来构建它。我尝试创建多个UIBezierPath路径并将它们添加到一个唯一的UIBezierPath中,然后我添加并填充该路

ios - 如何使用 UIBezierPath 绘制带线的圆弧

我正在尝试绘制如图所示的形状。背景是白色的..希望你能看到它..我正在使用贝塞尔曲线来绘制它。我已经提供了形状的边界,如蓝色边框所示。到目前为止,我只成功地绘制了两条线(以绿色显示)。我必须进一步绘制红色的。我无法从这一点画出弧线。我不明白如何将正确的参数传递给addArcWithCenter。代码-(void)drawRect:(CGRect)rect{//declareandinstantiatetheUIBezierPathobjectaPath=[UIBezierPathbezierPath];//Setthestartingpointoftheshape.[aPathmove

ios - 如何使用 UIBezierPath 填充自定义形状

我想通过使用UIBezierPath对象自己绘制并在drawRect:中渲染它来将自定义形状创建到UIView中。到目前为止,我设法创建了形状并对其进行了描边,因此它完全按照我想要的方式绘制在屏幕上。但是我无法正确填写它。这是到目前为止的代码:-(void)drawRect:(CGRect)rect{CGContextRefcontext=UIGraphicsGetCurrentContext();CGContextSetLineWidth(context,2.f);CGContextSetLineJoin(context,kCGLineJoinRound);CGContextSetS

iphone - 填充 UIBezierPath

我尝试动态创建拼图,它看起来像这样:我想用一些颜色填充这个形状,所以它看起来像这样:所以我可以用它来遮盖一些图像。问题:我使用4个UIBezierPath创建此形状,然后使用appendPath将其转换为1个路径。我想填充这条路径,但是当我使用fill时,我得到了这个:您有什么想法可以填充相同的形状吗? 最佳答案 一段时间后,我找到了获得这些结果的原因。如果你想创建一些填充路径,你不应该使用moveToPoint方法,相反你应该只使用moveToPoint设置第一个点,然后用addLineToPoint绘制所有线、addCurveT

ios - UIBezierPath绘图占用CPU 100%

每次用户触摸移动时,我都会在屏幕上绘制一个UIBezierPath。这在我的MacPro模拟器上运行良好,但当我将它移到物理设备上时,绘图开始出现严重滞后。使用仪器,我检查了CPU使用率,当用户正在绘图时,CPU使用率达到100%。这成为了一个很大的问题,因为我有一个应该以30fps的速度触发的NSTimer,但是当CPU因绘图而过载时,计时器仅以10fps左右的速度触发。如何优化绘图,使其不会占用100%的CPU?UITouch*lastTouch;-(void)touchesBegan:(NSSet*)toucheswithEvent:(UIEvent*)event{if(last