用不同的alpha分量绘制ios quartz 2d path

时间:2011-02-06 15:23:09

标签: ios quartz-graphics bezier

我想绘制一些Bezier曲线,其中alpha通道在曲线绘制过程中会发生变化。现在我能够使用固定的alpha通道绘制bezier路径。我想要做的是绘制单个贝塞尔曲线,该曲线使用α通道的特定值用于路径的前n个点,后续m个点的alpha值,依此类推。 我用来绘制bezier路径的代码是:

CGContextSetStrokeColorWithColor(context, curva.color.CGColor);
....
CGContextAddCurveToPoint(context, cp1.x, cp1.y, cp2.x, cp2.y, endPoint.x, endPoint.y);
....
CGContextStrokePath(context);

有没有办法实现我所描述的目标?

非常感谢, 乔瓦尼

2 个答案:

答案 0 :(得分:0)

我认为有两种方法可以达到这种效果:

我应该有资格证明我从未尝试过CGPatternRef方法,所以我只能指出它是一种潜在的,而不是确定的。

答案 1 :(得分:0)

有一种更简单的方法可以做你想做的事情:

  1. 使用您喜欢的图形编辑器创建渐变图像(或在您的应用中及时创建)。图像应该是1像素高,并且与您要描边的路径的长度一样宽。
  2. 使用渐变填充图像。例如,使用具有变化的alpha分量的渐变填充图像,从左边的0到右边的1。
  3. 通过调用[UIColor colorWithPatternImage:patternImage]创建笔触颜色,其中图案图像是从渐变图像创建的UIImage。
  4. 使用图案颜色描边路径。这也适用于图层。这将沿路径应用渐变。