Tag: 核心graphics

沿MKPolyLineView(MKPolylineRenderer)

我想在多段线视图上应用渐变,具体取决于速度等条件。 我能够将MKPolyLineRenderer子类MKPolyLineRenderer自定义描边和填充,但只能沿着path使用相同的颜色。 我看到其他类似的问题,如: 从一个圆圈或甜甜圈或OSX上 绘制段 ,我如何渐变填充path中风? ,但这不完全是我想要的。 如果我理解正确,下面的path不能用这些方法填充。 至less不作为一个整体对待。 一个非常类似的问题是使用MapKit ios的渐变折线 。 但它增加了点之间的每个部分的叠加,我认为这不是太高效。 这是唯一的可能吗? (我需要绘制数百甚至数千个这样的细分…)这怎么能轻松实现呢? 谢谢

沿弧线animationUIView

我希望沿着一个圆弧来创build一个视图,如位置1到位置2的图像所示。 实际情况是,视图animation描述了一个完整的圆而不是弧。 我的问题是: 我应该使用CGPathAddArc还是CGPathAddArcToPoint ? 我是否需要使用CGPathMoveToPoint来描述视图的初始位置? 当我遍历代码时,CGPoints值与我所预期的一样,angular度也一样。 我使用下面的函数在一个圆上获取CGPoints CGPoint pointOnCircle(CGPoint centre, float radius, float angle) { float x = centre.x + radius * cosf(angle); float y = centre.y + radius * sinf(angle); return CGPointMake(x, y); } 我正在使用下面的代码和其变体,但至今我还没有设法破解它。 CAKeyframeAnimation *pathAnimation = [CAKeyframeAnimation animationWithKeyPath:@"position"]; pathAnimation.calculationMode = kCAAnimationPaced; pathAnimation.fillMode = kCAFillModeForwards; pathAnimation.removedOnCompletion = NO; pathAnimation.duration = duration; pathAnimation.repeatCount […]

编译错误尝试使用CAGradientLayer

我试图使用CAGradientLayer并获得无益的编译错误。 无法弄清楚什么是错的。 我到目前为止所做的是: CAGradientLayer *gradient = [CAGradientLayer layer]; 我已经导入了<QuartzCore/QuartzCore.h> ,我得到了警告> _OBJC_CLASS_ $ CAGradientLayer引用自:objc-class-ref-to-CAGradientLayer符号(s)not found。 我试过干净,但没有运气,我似乎无法在Xcode中的目标以外的任何其他4.1 欢呼任何帮助。

renderincontext内存泄漏,如果不在主线程上使用

我想使用下面的代码将我的UIView转换成UIImage。 + (UIImage *) imageWithView:(UIView *)view{ float scale = 1.0f; UIGraphicsBeginImageContextWithOptions(view.bounds.size, YES, scale); [view.layer renderInContext:UIGraphicsGetCurrentContext()]; UIImage* img = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); view.layer.contents = nil; return img; } 这个代码有两个问题。 1.当我在后台线程(!mainThread)中运行这个代码时, 在后台线程中调用renderInContext时遇到内存泄漏问题。 2.当我在主线程上运行这个代码 有没有内存泄漏,但在iPad 3我面临一些性能问题(我的用户界面挂起时调用此方法),同时从UIView创build图像。 因为我需要在一秒钟内将这个函数调用5次以上,所以UI挂起会给用户带来非常不好的体验。 请指导我,如果我在这里做错了什么?

在iOS中沿着path均匀地绘制图像

我想要做的就是在屏幕上移动我的手指(touchesMoved)并沿touchesMoved生成的点绘制均匀间隔的图像(可能是CGImageRefs)。 我可以画线,但是我想要生成的东西看起来像这样(对于这个例子,我使用的是一个箭头的图像,但它可能是任何图像,可能是我的狗的图片:))主要的是当用iPhone或iPad上的手指进行绘图时,图像均匀分布。

如何在UIView上设置渐变边框?

在UIView上添加一个简单的边界非常简单。 你只需链接到QuartzCore ,导入它,并使用: self.view.layer.borderColor = [UIColor redColor].CGColor; self.view.layer.borderWidth = 2.0f; 我的问题是…有没有办法使这个边界使用渐变。 我知道如何将渐变遮罩应用于整个视图,而不仅仅是边界。 我假设这可能涉及到一个自定义的视图和CoreGraphics绘图内drawRect:但我不知道从哪里开始。

当UI框架与UIView相交时反转UI标签文字颜色

嗨我试图改变UILabel的文本颜色的情况下,当标签矩形相交UIView,我想也许有一个属性或我可以使用的东西。 如下图所示: 以前有人遇到这个问题,或者我应该读什么来开始做这件事? 提前致谢

在UIView中绘制一个矩形

我想在我的UIView中有一个黑色边框绘制一个透明的矩形。 我的代码然而创build一个完全黑色的矩形。 这是我的代码到目前为止: – (void)drawRect:(CGRect)rect { // Drawing code CGRect rectangle = CGRectMake(0, 100, 320, 100); CGContextRef context = UIGraphicsGetCurrentContext(); CGContextSetRGBFillColor(context, 0.0, 0.0, 0.0, 0.5); CGContextSetRGBStrokeColor(context, 0.0, 0.0, 0.0, 0.5); CGContextFillRect(context, rectangle); }

画一个简单的圆形uiimage

我试图做一个简单的蓝色圆圈的20×20 UIImage。 我尝试使用这个函数,但结果是在一个黑色的方形蓝圈。 如何去除圆周上的黑色方块? function: + (UIImage *)blueCircle { static UIImage *blueCircle = nil; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ UIGraphicsBeginImageContextWithOptions(CGSizeMake(20.f, 20.f), YES, 0.0f); CGContextRef ctx = UIGraphicsGetCurrentContext(); CGContextSaveGState(ctx); CGRect rect = CGRectMake(0, 0, 20, 20); CGContextSetFillColorWithColor(ctx, [UIColor cyanColor].CGColor); CGContextFillEllipseInRect(ctx, rect); CGContextRestoreGState(ctx); blueCircle = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); }); return blueCircle; } 实际结果:

画一个圆圈,用不同的颜色填充不同的部分

我是一个新手ios程序员。在我的一个项目中,我需要绘制一个圆圈,其中不同部分的圆圈会填充不同的颜色。我可以绘制圆圈,但是我无法确定不同的部分并填充不同的颜色。下面是一个截图,以澄清我想画的东西。 一个帮助,将不胜感激。