2012-04-04 42 views
1

我正在爲客戶端創建一本着色書應用程序,並且它很順利。事實上,很好,因爲它已經完成了。然而,有一個障礙:一些顏色不按預期顯示。應用程序中的顏色不同於它們基於的圖像

客戶端給我的圖像和一個關鍵用於創建畫筆。我選取了顏色參考並製作了幾種不同尺寸的圓圈,以便用於每種顏色,以表示不同的畫筆尺寸。然後我加載刷像這樣:

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

對於該特定文件的刷圖像是:

Yellow brush

我提出的顏色輸出的屏幕截圖與I用於創建密鑰比較刷子:

Several color swatches

關於顏色的一半顯示就好了,而其它的是PR etty明顯。

我已經嘗試不同級別的不透明度,改變一些GL設置,但似乎沒有任何幫助。

+1

從正面看,黑色看起來不錯。 – 2012-04-04 20:24:58

回答

2

這是由於混合工件和您在白色背景上繪製的事實。要確認這一點,請更改背景顏色,並查看每種顏色的色調稍有變化。要解決此問題,您可以減少繪製顏色的不透明度,或選擇更合適的混合模式。

嘗試更改您的glBlendFunc以使用GL_ONE這兩個參數。這將刪除混合,但至少你的顏色應該100%準確。

+0

我覺得這是這個問題。我正在嘗試一堆不同的風格。我真的很喜歡它給出的效果,只是希望顏色不被搞砸 – 2012-04-05 15:10:21

+1

太棒了,謝謝!我沒有把它們全部都放到我想要的地方,但是隨着一些混亂,我正在穩步地修復它。 – 2012-04-05 16:21:16