相关疑难解决方法(0)

如何使用Core Graphics/iPhone绘制渐变线(淡入/淡出)?

我知道如何绘制一条简单的线条:

CGContextSetRGBStrokeColor(context, 1.0, 1.0, 1.0, 1.0);
CGContextMoveToPoint(context, x, y);
CGContextAddLineToPoint(context, x2, y2);
CGContextStrokePath(context);
Run Code Online (Sandbox Code Playgroud)

我知道如何做一个渐变矩形,ig:

CGColorSpaceRef myColorspace=CGColorSpaceCreateDeviceRGB();
size_t num_locations = 2;
CGFloat locations[2] = { 1.0, 0.0 };
CGFloat components[8] = { 0.0, 0.0, 0.0, 1.0,    1.0, 1.0, 1.0, 1.0 };

CGGradientRef myGradient = CGGradientCreateWithColorComponents(myColorspace, components, locations, num_locations);

CGPoint myStartPoint, myEndPoint;
myStartPoint.x = 0.0;
myStartPoint.y = 0.0;
myEndPoint.x = 0.0;
myEndPoint.y = 10.0;
CGContextDrawLinearGradient (context, myGradient, myStartPoint, myEndPoint, 0);
Run Code Online (Sandbox Code Playgroud)

但是我怎么能画一条渐变的线条,ig从黑色渐变到白色(也可能在另一边渐渐变成黑色)?

iphone gradient core-graphics draw

24
推荐指数
4
解决办法
4万
查看次数

绘制MKMapView Overlay,如Google Maps Directions

iOS 5改变了内置Google Maps App绘制路线的方式:

Apple的产品线

我现在想在我自己的应用程序中复制路径叠加的设计,但我目前只能绘制一条纯蓝线.我想添加渐变,边框和发光的3D效果.有关如何实现这一目标的任何想法?

目前我正在使用以下代码:

CGContextSetFillColorWithColor(context, fillColor.CGColor);
CGContextSetLineJoin(context, kCGLineJoinRound);
CGContextSetLineCap(context, kCGLineCapRound);
CGContextSetLineWidth(context, lineWidth);
CGContextAddPath(context, path);
CGContextReplacePathWithStrokedPath(context);
CGContextFillPath(context);
Run Code Online (Sandbox Code Playgroud)

导致一条相当难看的线:

我的路线

谢谢!

更新:该解决方案应适用于iOS 4.0及更高版本.

core-graphics drawrect mapkit mkmapview ios

10
推荐指数
1
解决办法
2668
查看次数

沿MKPolyLineView(MKPolylineRenderer)的渐变

我想根据速度等条件在折线视图上应用渐变.我能够MKPolyLineRenderer使用自定义笔触和填充进行子类绘制,但只沿路径使用相同的颜色.

我看到了其他类似的问题:从圆圈或圆环OSX中绘制线段,如何渐变填充路径笔划?,但这不是我想要的.如果我理解正确,就不能用这些方法填充下面这样的路径.至少不作为一个整体对待.

在此输入图像描述

一个非常相似的问题是Gradient Polyline和MapKit ios.但是它为点之间的每个段添加了叠加,我认为这不是太有效.

这是唯一可行的方法吗?(我需要绘制数百甚至数千个这些段...)如何轻松实现?

谢谢

iphone core-graphics ios mkpolyline

10
推荐指数
1
解决办法
2549
查看次数

应用纹理来描边CGContextStrokePath

我正在制作一个简单的绘图程序.到目前为止,我能够使用给定的颜色描绘路径并且一切都很好.我想知道是否有办法用纹理而不是颜色来抚摸它.比方说,我想给路径看铅笔线.关于如何做到这一点的任何想法?

在此先感谢您的帮助!

iphone core-graphics

5
推荐指数
1
解决办法
2865
查看次数

标签 统计

core-graphics ×4

iphone ×3

ios ×2

draw ×1

drawrect ×1

gradient ×1

mapkit ×1

mkmapview ×1

mkpolyline ×1