Pens と Brushes
定義済みオブジェクト
通常、ペンやブラシはコンストラクタを用いてインスタンスを作成しますが
これ以外にも、.NET で定義されている定義済みのペンなどが存在します
定義済みのペンは System.Drawing.Pens クラスで表され
このクラスは静的な Pen 型の読み取り専用プロパティを提供してます
public sealed class Pens
このクラスには、多くの静的な定義済みペンを表すプロパティが存在します
数が多いので、宣言ではなくプロパティ名だけを以下に列挙します
メンバ
|
---|
AliceBlue | AntiqueWhite | Aqua | Aquamarine
|
Azure | Beige | Bisque | Black
|
BlanchedAlmond | Blue | BlueViolet | Brown
|
BurlyWood | CadetBlue | Chartreuse | Chocolate
|
Coral | CornflowerBlue | Cornsilk | Crimson
|
Cyan | DarkBlue | DarkCyan | DarkGoldenrod
|
DarkGray | DarkGreen | DarkKhaki | DarkMagenta
|
DarkOliveGreen | DarkOrange | DarkOrchid | DarkRed
|
DarkSalmon | DarkSeaGreen | DarkSlateBlue | DarkSlateGray
|
DarkTurquoise | DarkViolet | DeepPink | DeepSkyBlue
|
DimGray | DodgerBlue | Firebrick | FloralWhite
|
ForestGreen | Fuchsia | Gainsboro | GhostWhite
|
Gold | Goldenrod | Gray | Green
|
GreenYellow | Honeydew | HotPink | IndianRed
|
Indigo | Ivory | Khaki | Lavender
|
LavenderBlush | LawnGreen | LemonChiffon | LightBlue
|
LightCoral | LightCyan | LightGoldenrodYellow | LightGray
|
LightGreen | LightPink | LightSalmon | LightSeaGreen
|
LightSkyBlue | LightSlateGray | LightSteelBlue | LightYellow
|
Lime | LimeGreen | Linen | Magenta
|
Maroon | MediumAquamarine | MediumBlue | MediumOrchid
|
MediumPurple | MediumSeaGreen | MediumSlateBlue | MediumSpringGreen
|
MediumTurquoise | MediumVioletRed | MidnightBlue | MintCream
|
MistyRose | Moccasin | NavajoWhite | Navy
|
OldLace | Olive | OliveDrab | Orange
|
OrangeRed | Orchid | PaleGoldenrod | PaleGreen
|
PaleTurquoise | PaleVioletRed | PapayaWhip | PeachPuff
|
Peru | Pink | Plum | PowderBlue
|
Purple | Red | RosyBrown | RoyalBlue
|
SaddleBrown | Salmon | SandyBrown | SeaGreen
|
SeaShell | Sienna | Silver | SkyBlue
|
SlateBlue | SlateGray | Snow | SpringGreen
|
SteelBlue | Tan | Teal | Thistle
|
Tomato | Transparent | Turquoise | Violet
|
Wheat | White | WhiteSmoke | Yellow
|
YellowGreen
|
同様に、ブラシも System.Drawing.Brushes クラスで定義されています
このクラスも、定義済みのブラシを静的プロパティで提供しています
public sealed class Brushes
このクラスが提供する静的プロパティの名前は Pens と同じです
実は、Pens や Brushes クラスが提供するこれらのプロパティは
単純に Color 構造体の定義済みカラーを表しています
実は Color 構造体は、インスタンスを作成する以外にも
Pens クラスのプロパティと同一名で、定義済みの色を静的プロパティで提供しています
これら Pens、Brushes クラス、そして Color 構造体の静的プロパティを使えば
よく使うと思われる色のペンやブラシ、カラーを簡単に取得することができます
using System.Windows.Forms;
using System.Drawing;
class WinMain : Form {
public static void Main(string[] args) {
Application.Run(new WinMain());
}
override protected void OnPaint(PaintEventArgs e) {
Graphics g = e.Graphics;
Rectangle rect = new Rectangle(10 , 10 , 200 , 100);
g.FillRectangle(Brushes.Red , rect);
g.DrawRectangle(Pens.Black , rect);
}
}
これは、定義済みのブラシとペンを用いて描画しているプログラムです
赤や黒など、単純な色のオブジェクトはすでに定義済みなので、このように使うことができます