2017-04-24 28 views
2

Canvasを作成しようとしています。R、G、Bの3つのテキストボックスを使って色を変更できます。TextBoxの値が変更されるたびにキャンバスの色を変更する必要があります。 TextBoxは0〜255の整数に限定されており、有効な数値が入力されている限り、Canvasの色を変更する必要があります。テクスチャボックスを使用してキャンバスの色を変更する

Canvasの背景はSolidColorBrushで設定されていますが、RGB値の任意のコレクションからSolidColorBrushを作成する方法はわかりません。

+0

はあなたを持っているあなたは3つのバイトを持っていると仮定すると、 [SolidColorBrush](https://msdn.microsoft.com/en-us/library/system.windows.media.solidcolorbrush(v = vs.110).aspx)のドキュメントを参照してください。 'Color'を取るコンストラクタがありますが、静的メソッド[Color.FromRgb](https://msdn.microsoft.com/en-us/library/system.windows.media.color)で色を作成することができます。 fromrgb(v = vs.110).aspx)。それはどこから始めるべきかを示すはずです。 MSDNのドキュメントはあなたの友人であることを忘れないでください。ドキュメントを読んで、あなたを助けるサンプルを見てください。 – pstrjds

+0

あなたの質問を編集して、あなたが求めていることを明確にしようとしました。私が適切に編集したかどうか分からないので、間違って理解していればそれを確認して修正してください。 – pstrjds

答えて

2

3つのテキストボックスがあります。これらのテキストボックスからテキストを取り込み、適切なバイト値に解析することができます。その後、あなたはあなたのテキストボックスからの3つの値から色を作成するために、Color.FromRgb静的メソッドを使用するコード行、とSolidColorBrushを作成することができます - B、R、G:

var brush = new SolidColorBrush(Color.FromRgb(r,g,b)); 
+0

ありがとうございました。明らかに、最初にシェイプを作成してから、オブジェクトから呼び出すことができるパラメータを追加する必要がありました。 –

0

var brush = new SolidColorBrush(Color.FromRgb(r,g,b));を使用してキャンバスの色をこのプロパティに設定できます。

+0

私は不明だと思ったので前のコメントを削除しました - あなたは 'System.Drawing.Color'を使って回答を投稿しましたが、質問は' System.Windows.Media.Color'を使うWPF 'Canvas'に関するものです。 – pstrjds

+0

私の答えは間違っていますか? –

+0

はい - 「System.Drawing.Color」と「System.Windows.Media.Color」が異なるためです。 'System.Drawing.Color'を使って' System.Windows.Media.SolidColorBrush'を作成することはできません。WPF [Canvas.Background](https://msdn.microsoft.com/en-us/library/system.windows。 controls.panel.background(v = vs.110).aspx)は、 'System.Windows.Media.Brush' – pstrjds

関連する問題