簡體   English   中英

生成顏色漸變

[英]Generating Color Gradient

我想向我的用戶顯示他們的表格中有多少(符合百分比)符合新標准。 我想讓他們直觀地知道的方式是百分比顏色。 對於100%,它將是0xFF0000(純紅色),對於100%,它將是0x00FF00(純綠色)。 計算過程中每個步驟的顏色的最佳方法是什么?

色彩空間轉換(由Tony建議)將為您帶來最佳效果。 但是,如果這超出了您所尋找的范圍,我建議使用一種簡單的算法,使您黃(0xFFFF00)達到50%:

對於高達50%的值,從0xFF0000開始。
將0xFF *百分比/ 50添加到綠色部分。

對於50%以上的值,從0xFFFF00開始。
從紅色分量中減去0xFF *百分比/ 50。

結果對我的客戶來說足夠好;-)

您不需要自己計算-嘗試使用LinearGradient筆刷。 msdn

LinearGradientBrush linGrBrush = new LinearGradientBrush(
   new Point(0, 10),
   new Point(200, 10),
   Color.FromArgb(255, 255, 0, 0),   // Opaque red
   Color.FromArgb(255, 0, 0, 255));  // Opaque blue

Pen pen = new Pen(linGrBrush);

e.Graphics.DrawLine(pen, 0, 10, 200, 10);
e.Graphics.FillEllipse(linGrBrush, 0, 30, 200, 100);
e.Graphics.FillRectangle(linGrBrush, 0, 155, 500, 30);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM