iOS使用混合模式和cgcontext

时间:2014-01-03 19:38:59

标签: ios core-graphics

我正在使用CGContextSetBlendMode尝试将渐变(存储在gradient中)与多种形状(黑色和透明度)进行颜色混合。我附上了一张带有结果的图片。很容易看出出了什么问题。不知何故出现了文物。

我尝试做的似乎部分工作,但我不确定我的方法是否正确。我首先绘制形状,然后设置上下文的混合模式,然后绘制渐变。

同样奇怪的是,当我使用kCGBlendModeColorBurn代替kCGBlendModeColor时,工件不会出现。我也没有在图层中绘制任何其他东西。

我无法确定混合模式的工作原理。我找不到任何好的文件。

CGRect rectangle = CGRectMake(60,170,200,200);
CGContextAddEllipseInRect(context, rectangle);
CGContextFillPath(context);

CGRect rectangle2 = CGRectMake(40,120,100,100);
CGContextAddEllipseInRect(context, rectangle2);
CGContextFillPath(context);

CGContextSetBlendMode( context, kCGBlendModeColor);

CGContextDrawLinearGradient(context, gradient, startPoint, endPoint, 0);

Example of the artifacts showing up using kCGBlendModeColor

0 个答案:

没有答案