none
brushes.colorとRGBやARGBの色タイプの変換について RRS feed

  • 質問

  • 色が3種類もあって苦労してます。

    RGBとARGBの変換ルーチンは作れました。

    実はbrushで文字を書いているのですが、brushes.名前しか受け付けないようですね。

    これでは、カラーダイアログを使って新しい色を設定して、それで描くことはできませんね。

    ダイアログを自分で作れば可能ですが。

    brushes.colorはRGBやARGB のように数字で表せないのですか?

    また、変換する方法はないのでしょうか?

    どなたか、ご教示ください。

     

     

     

    2006年11月20日 4:37

回答

すべての返信

  • SolidBrushTextureBrushLinearGradientBrushあたりを使えば、
    コンストラクタで Color を指定できます。
    2006年11月20日 5:18
  •  窓際族 さんからの引用

    実はbrushで文字を書いているのですが、brushes.名前しか受け付けないようですね。
    これでは、カラーダイアログを使って新しい色を設定して、それで描くことはできませんね。

    色にそのまま対応するブラシは
    SolidBrush クラス
    です。

    前に、
    ListBoxの各行を違った色で表示することは可能ですか?
    のスレッドで私が返信した以下のようなコード


    Dim brush1 As Brush = New SolidBrush(Color.Red)
    e.Graphics.DrawString(ListBox1.Items(e.Index).ToString(), e.Font, brush1, e.Bounds, StringFormat.GenericDefault)

    でご納得されたのかと思っていたのですが。

     窓際族 さんからの引用

    brushes.colorはRGBやARGB のように数字で表せないのですか?
    また、変換する方法はないのでしょうか?
    どなたか、ご教示ください。

    ARGBを表す数値(Int32)からColorを生成するのは
    Color.FromArgb メソッド (Int32)
    ColorからARGBを表す数値(Int32)を生成するのは
    Color.ToArgb メソッド
    です。

    2006年11月20日 11:42
  • 蒼の洞窟様、IIJIMAS

    いつもお世話になっています。

    brushes.color  の代わりになるものがあることに気がつきませんでした。

    fromArgbは使ってましたが、4色をバラバラに使う方法しかやってませんでした。

     

    Dim myBrush as SolidBrush = New SolidBrush(argbColor)

    で、描画できるようになりました。これで、3種類の色を自由に変換できます。

    ありがとうございました。

     

     


    2006年11月20日 18:10