2011-01-18 6 views
2

アルファチャンネルを使用してDataGridviewのセルの色を設定するにはどうすればよいですか? RGBは正常に動作しますが、アルファを指定すると歪んだ数字が表示されます。私はcellPaintingイベントでこの色を変更します。DataGridViewのカラーアルファチャンネル

alt text

e.CellStyle.BackColor = Color.FromArgb(120, 255, 0, 0) 
+0

あなたは何を期待していますか?セルの背後に背景がないので、私はアルファチャンネルの理由は見当たりません。 –

+1

あなたが知っていることが分かっていたら、私はその質問をしません。だから代わりに説明してください。なぜそれは背景ではないのですか?そして私はそれをどうやって解決するのですか? – bretddog

+1

Alpha = "背景のピクセルを輝かせる"。バックグラウンドではすべてが白であるので、簡単に色を薄くしたいと思うようです。これはRGBのみで行うことができます。 –

答えて

1

まあ、それは働いています。あなたのスクリーンショットは、3行目のセルが異なった値を取得し、BackColorが以前にあったものを消去することなく再描画されることを示しています。 4,5,6のように見えます.DGVを小さくして水平スクロールバーが表示されるようにすると、より興味深い効果が得られます。それをドラッグすると、数字の「スミア」が発生します。

これはあまりうまくいきませんが、なぜこれをやりたいのかわかりません。新しい値を描画するためには、不透明な背景が必要です。それに255のアルファが必要です。

+1

私は、アルファ(白以上)の色を調整したいセル値に基づいて決定する。しかし、私がアルファチャンネルを使うことができないなら、私はRGB計算を調べなければならないと思う。 – bretddog

+0

はい、良い色を得るにはHSL色空間を使用してください:http://www.bobpowell.net/rgbhsb.htm –