2016-08-24 7 views
1

0から9までの各番号の色を0に設定し、白から黒の白を0に、黒を9に設定したいので、中央に青= 2、緑= 1 、赤= 4。 したがって、ユーザーが2144214の番号を入力すると、新しい色を計算して作成することができました。 2xgreen、2xblue、3xredのようなものは、2 + 2 + 1 + 1 + 4 + 4 + 4となり、結果は新しい色になります。 それはアイデアですが、私を殺している部分は色の値を変数に設定しています。それは可能でしょうか? 私はWPF C#アプリケーションで作業しています。私は色をint変数に設定する

enum Color 
{ 
    white = 0, 
    red = 1, 
    blue = 2, 
    black = 9 
} 

はリンクenum型を使用することをお勧めいたしますでしょう

+0

Color.FromArgb() –

+0

WPFにおける任意の色は、HTML文字列で表すことができる: TTは、透明性とRRある#TTRRGGBB、GG、BB、赤、緑、青、あなたがこれに任意の色を作成することができるようにコード行:Color color =(Color)ColorConverter.ConvertFromString( "#FFDFD991");これはスタックオーバーフローの答えです。http://stackoverflow.com/questions/2109756/how-to-get-color-from-hexadecimal-color-code-using-net –

+0

そして、私は赤、青、および青を初期化する必要があります緑、私はアプリの後半の各色の数を数えることができますか? – AlexDev

答えて

0

、私はあなたが個別に、赤、緑、青保存する必要があると思うし、インクリメント/デクリメントこれらの値は入力された桁数に従います。それはあなたが0に、赤、緑、青を初期化する必要があります、そして、あなたの色を構築した後、有効性のためにそれをチェックする必要があります。もちろん、この

// get a digit 

switch (digit) { 
    case 0: // black, darken the color 
     red -= 4; // value of 4 is arbitrary, it could be 1 or other 
     green -= 4; 
     blue -= 4; 
     break; 
    case 1: // red 
     red += 4; 
     break; 
    case 2: // green 
     green += 4; 
     break; 
    case 3: // blue 
     blue+= 4; 
     break; 
    case 4: // cyan 
     green += 4; 
     blue += 4; 
     break; 
    case 5: // yellow 
     red += 4; 
     green += 4; 
     break; 
    case 6: // magenta 
     red += 4; 
     blue += 4; 
     break; 
    case 7: // white, lighten everything 
     red += 4; 
     green += 4; 
     blue += 4; 
     break; 
    default: 
     break; 
} 

のようなものを行くことができます(多くのカラーシステムを持っています各色で255の限界)。これらの作業がすべて完了したら、赤、緑、青の色を持ち、Color.FromArgb()で@EdPlunkettが示しているように色々なことができます。

+0

あなたは、私は黒色=ケース0から白色=ケース9まで、異なる色の9つのケースを作るべきであると提案していますか? – AlexDev

+0

返信が遅れて申し訳ありません。それが上記のコードのドリフトです。もちろん、それを行う方法は数多くあり、RGBまたはHSLで色を選ぶ方法が確立されています。私はあなたが望むものは確かではありませんでしたが、水の皿を持っているように聞こえて、入力文字列に応じて赤、緑、青などの食用着色料を追加したかったのです。 –

+0

私はもっとわかりやすいようにしようと思います。ユーザーが情報を入力し、「年収を入力してください」というような情報を入力すると、321444と入力してアプリが色付けします0から9までの10の色を作ることで最初にできると思っていましたが、その間に私は赤の緑と青の色を使う方がずっと簡単でした。 しかし、今私の問題は、どのように数字を集計するのかです。 – AlexDev