2012-04-04 7 views
1

私はクライアントのための色付けブックアプリを作成しています。非常に良い、実際には、それが終了したため。しかし、1つの障害があります:一部の色が期待どおりに表示されません。彼らが基づいている画像と異なるアプリの色

クライアントは私に画像とブラシ作成に使用するキーを与えました。私は色の基準を取り、色ごとに異なるブラシサイズを表すためにいくつかの異なるサイズの円を作成しました。私はそれようにブラシをロード:

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

この特定のファイルのためのブラシ画像である:

Yellow brush

私は作成するために使用されるキーと比較する色出力のスクリーンショットを作っブラシ:他の人がPRしている間

Several color swatches

色の半分についてだけで罰金を表示します目立つ。

いくつかのGL設定を変更して、さまざまなレベルの不透明度を試しましたが、何も役立たないようです。

+1

プラス側では、黒がよく見えます。 –

答えて

2

これは、ブレンディングアーティファクトと、白い背景に描画していることが原因です。これを確認するには、背景色を変更して、各色の色相がわずかに変化することを確認します。この問題を解決するには、ペイントされたカラーの不透明度を下げるか、より適切なブレンドモードを選択します。

glBlendFuncを両方のパラメータにGL_ONEに変更してみてください。これによりブレンドは削除されますが、少なくともあなたの色は100%正確でなければなりません。

+0

私はこれがこの問題であると考えました。私はさまざまなスタイルを試しています。私は本当にそれが与える効果が好きです、ちょうど色がねじ込まれていないことを願って –

+1

素晴らしい、ありがとう!私はそれらを私が欲しかった場所に完全に持っていませんでしたが、いくつかのものを乱して、私は着実にそれを修正しています。 –

関連する問題