1

我正在为客户创建一个着色书应用程序,并且进展顺利。很好,事实上,因为它已经完成了。但是有一个障碍:某些颜色没有按预期显示。

客户给了我图像和用于创建画笔的密钥。我参考了颜色,并为每种颜色制作了几个不同大小的圆圈来表示不同的画笔大小。然后我这样加载画笔:

    brush = [[CCSprite spriteWithFile:@"yellowbrush3.png"] retain];
    [brush setBlendFunc: (ccBlendFunc) { GL_ONE, GL_ONE_MINUS_SRC_ALPHA }];  
    [brush setOpacity:20];

这个特定文件的画笔图像是:

黄色画笔

我制作了颜色输出的屏幕截图,以与我用来创建画笔的键进行比较:

几个色样

大约一半的颜色显示得很好,而其他颜色则非常明显。

我尝试了不同级别的不透明度,更改了一些 GL 设置,但似乎没有任何帮助。

4

1 回答 1

2

这是由于混合伪影以及您在白色背景上绘制的事实。要确认这一点,请更改背景颜色并查看每种颜色的色调是否略有变化。要纠正此问题,您可以降低绘制颜色的不透明度,或选择更合适的混合模式。

尝试更改您对这两个参数glBlendFunc的使用GL_ONE。这将消除混合,但至少你的颜色应该是 100% 准确的。

于 2012-04-04T21:13:43.540 回答