我已经在我的应用程序中集成了一条线。我没有使用OpenGl或任何其他类似的框架。现在我想给这些线条添加发光效果。知道怎么做吗?
答案 0 :(得分:1)
使用UIBezierPath作为绘制线,如下面的代码......
您可以按以下方式初始化UIBezierPath
UIBezierPath *myPath=[[UIBezierPath alloc]init];
myPath.lineWidth=10;
brushPattern=[UIColor redColor]; //This is the color of my stroke
然后你有Touch方法来处理和跟踪你的触摸坐标。当您在屏幕上开始触摸时,您会要求UIBezierPath移动到该触摸点
UITouch *mytouch=[[touches allObjects] objectAtInd
[myPath moveToPoint:[mytouch locationInView:self]];
当您移动手指时,您可以通过以下方式在TouchMoved方法中的BezierPath中添加这些点
UITouch *mytouch=[[touches allObjects] objectAtIndex:0];
[myPath addLineToPoint:[mytouch locationInView:self]];
由于我们需要不断刷新屏幕,所以一旦我们绘制它就出现在屏幕上,我们通过在TouchMethod中调用以下方法来刷新UIView子类,这样一旦BezierPath发生任何变化,它就会反映在屏幕上。
[self setNeedsDisplay];
谈论为您完成所有绘图的drawRect方法,您需要在屏幕上设置笔划的颜色(笔触颜色表示将在屏幕上完成绘画的颜色。)以及混合模式。您可以尝试不同的混合模式并查看结果。
- (void)drawRect:(CGRect)rect
{
[brushPattern setStroke];
[myPath strokeWithBlendMode:kCGBlendModeNormal alpha:1.0];
}
另见以下链接..
http://soulwithmobiletechnology.blogspot.in/2011/05/uibezierpath-tutorial-for-iphone-sdk-40.html
我希望这可以帮助你...
:)