マップ上にGRPトラックが1〜10の難易度を持っています。これらのトラックは難易度によって色分けしてください。簡単な難度は緑色で、硬いものは赤色で、中程度のものはオレンジ色です。しかし、私はこれらの3色だけでなく、それらの間の滑らかな遷移を持つ必要があります。難易度ごとに1色、半分ごとに1色のように。これらの色とそれらのトランジションを計算するアルゴリズムはありますか?何とかrgb値を増減するように?ありがとうございました。色変換が難しい
Q
色変換が難しい
1
A
答えて
0
using System;
using System.Drawing;
using System.Windows.Forms;
public partial class MainForm : Form
{
protected override void OnPaint(PaintEventArgs e)
{
Color[] colors = new Color[11];
colors[0] = Color.Green;
colors[1] = Interpolate(Color.Green, Color.Orange, 0.2);
colors[2] = Interpolate(Color.Green, Color.Orange, 0.4);
colors[3] = Interpolate(Color.Green, Color.Orange, 0.6);
colors[4] = Interpolate(Color.Green, Color.Orange, 0.8);
colors[5] = Color.Orange;
colors[6] = Interpolate(Color.Orange, Color.Red, 0.2);
colors[7] = Interpolate(Color.Orange, Color.Red, 0.4);
colors[8] = Interpolate(Color.Orange, Color.Red, 0.6);
colors[9] = Interpolate(Color.Orange, Color.Red, 0.8);
colors[10] = Color.Red;
Rectangle rect = new Rectangle(10, 10, 20, 90);
for (int i = 0; i < colors.Length; i++)
{
e.Graphics.FillRectangle(new SolidBrush(colors[i]), rect);
rect.Offset(20, 0);
}
base.OnPaint(e);
}
private static Color Interpolate(Color a, Color b, double t)
{
int R = (int)(a.R + (b.R - a.R) * t);
int G = (int)(a.G + (b.G - a.G) * t);
int B = (int)(a.B + (b.B - a.B) * t);
return Color.FromArgb(R, G, B);
}
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MainForm());
}
}
1
Red = 255,0,0
Yellow = 255, 255, 0
Green = 0,255,0
各レベルについて10
にレベル1からループforループのようなものとして、色を作成します:そしてRGB値から色を作成
Red = level * 25.5;
Green = 255 - (level * 25.5);
Blue = 0;
。
明らかにこれは擬似コードに過ぎませんが、開始するためのアイデアが必要です。
1
あなたが探しているのは、さまざまな色を補間する機能です。その間に偽の色があるかもしれないので、2つの色を補間するだけでは十分ではないかもしれませんが、各色のRGBを3D空間の点として扱い、ポリライン(各点は色/中間色です)に沿って補間します)(あなたのケースでは、困難)を表す。 Hereは、私が話していることを示すリンクです。
関連する問題
- 1. Netbeansはファイルの色を緑色に変え、目には難しい
- 2. 回転変換の正しいアンカーポイントを見つけることが難しい
- 3. Djangoで要求を変換するのが難しいです.POSTの値
- 4. なぜXMLをpdfに変換するのが難しいですか?
- 5. 再帰アルゴリズムを反復アルゴリズムに変換するのが難しい
- 6. openCVを使用して特定の色を検出するのが難しい
- 7. %Wpfでの色変換
- 8. MVC3のレイアウトが難しい
- 9. switch文が難しい
- 10. Cygwinのエンコードが難しい
- 11. Ubuntuのインストールが難しい
- 12. `uint64_t`はなぜ難しいですか? (変換アセンブリを `float`から)
- 13. 困難なmySQLクエリを設定するのが難しい
- 14. Pythonのstruct.packで整数変数を渡すのが難しい
- 15. 変数ごとにヒストグラムを表示するのが難しい
- 16. サブビューを見つけて変更するのが難しい
- 17. イベントと一緒に変数を渡すのが難しい
- 18. グローバル変数を使用して変数を渡すのが難しい場合
- 19. 色がRGBに変換されないようにしますか?
- 20. 変更ナビゲーションバー色合いが
- 21. 変更「アクションバー」の色が正しい色に
- 22. フォーカスで色を選択しても色が変わらない
- 23. のC#にはJavaScriptを変換する - 難読化
- 24. グレード変換へのアントラグ:難読化とJar
- 25. SQL難しい文
- 26. GDI +グラフィックスメソッドを使用してテキストの前景色と背景色を変更する - 色を変換する
- 27. 文字列を色に変換する
- 28. IntelliJ idea OS X奇妙な色変換
- 29. 整数色の値をRGBに変換
- 30. ffmpegの色空間変換速度
+1色補間には複数の異なる手法があります。あなたは単純で離散的な何かをやっているので、あなたはそれをただちに見ることができ、それを良いものと呼ぶことができます。しかし、一般的にはそれよりもはるかに多いことを理解することは良いことです。 –