|
話を元に戻して、線を作図するにしても、黒色の細い実線だけではつまらないですね。線に色やスタイルを付けるには、線を作図する前にペンの指定を行います。
★ペン(Penプロパティ)
キャンバス(TCanvas)は、これから作図するペン(Penプロパティ)を持っています。そして、どんなペンを使うのか、という事で、ペン(TPen)は更に、色(Colorプロパティ)、スタイル(Styleプロパティ)、幅(Widthプロパティ)などを持っています。
@色(Colorプロパティ)
色は、以下のような感じで指定します。
Image1.Canvas.Pen.Color := clRed; |
「clRed」というのは「赤色」を示しています。Delphiが用意しているグローバル定数の1つです。
clAqua | 空色 |
| clMedGray | 50% 灰色 |
clBlack | 黒色 |
| clMoneyGreen | ミントグリーン |
clBlue | 青色 |
| clNavy | 濃紺色 |
clCream | 淡黄色 |
| clOlive | 黄緑色 |
clDkGray | 灰色(暗) |
| clPurple | 紫色 |
clFuchsia | 赤紫色 |
| clRed | 赤色 |
clGray | 灰色 |
| clSilver | 銀色 |
clGreen | 緑色 |
| clSkyBlue | スカイブルー |
clLime | 濃緑色 |
| clTeal | 暗青緑色 |
clLtGray | 灰色(明) |
| clWhite | 白色 |
clMaroon | 栗色 |
| clYellow | 黄色 |
その他、「clBtnText ボタンの文字の色」等のようなWindowsが管理する色を指定する事も出来ます。詳細は、Delphiヘルプを見て下さい。
Colorプロパティは、TColor型の値で入れる、という事になっていますが、これは普通の整数値(Integer型)と同じです。Colorプロパティに直接、$00FFAA55 等のような値を入れる事も出来ます。この数値は、最初の「$」は16進数値を示しており、青(FF)、緑(AA)、赤(55)、の各色成分を示しています。(最初の「00」は無視)ですので、
色=青色(0〜255)×65536+緑色(0〜255)×256+赤色(0〜255)
で指定出来ますが、面倒であれば、RGB関数を使って、
色=RGB(青色(0〜255),緑色(0〜255),赤色(0〜255))
で指定する事も出来ます。
Image1.Canvas.Pen.Color := RGB(0,0,255); |
これにより、1677万色フルカラーを使う事が出来ます。(Windowsカラーが256色やHiColor(65536色)の時には、表現出来ない色は自動的にディザリング表示されます)
Aスタイル(Styleプロパティ)
Image1.Canvas.Pen.Style := psDot; |
「psDot」というのは「点線」を示しています。
psSolid | 実線 |
psDash | 破線 |
psDot | 点線 |
psDashDot | 一点鎖線 |
psDashDotDot | 二点鎖線 |
psClear | 線は描画されない(現在のペンを使って図形の周囲にアウトラインを描画する線を省略するのに使う) |
但し、psClearを除くこれらのスタイルは、ペンの幅が0又は1(0と1は同じ1ドット)の場合にのみ有効で、ペンの幅を5等にすると指定したスタイルは実線になってしまいます。
B幅(Widthプロパティ)
Image1.Canvas.Pen.Width := 5; |
これから描くペンの幅(線幅;線の太さ)を指定します。
という訳で、ある色・スタイル・幅の線を描く時には、予めペンを指定しておいてから線を描くようにします。例えば、
procedure TForm1.Button1Click(Sender: TObject);
begin
with Image1.Canvas do begin
Pen.Color := clRed;
Pen.Style := 1;
Pen.Width := 10;
MoveTo(100,100);
LineTo(200,200);
LineTo(300,200);
end;
end; |
赤色、実線、線幅10の線(100,100〜200,200)と(200,200〜300,200)を描きます。最後に指定したMoveTo、LineToの座標は残っていますので、連続線を描く時にはMoveToを何度も指定する必要はありません。
それでは、今度は、座標値が固定だと余り面白くありませんので、ボタンを押すたびに乱数値を使って描くようにしてみます。
【ソース・プログラム】
|
|
CAD装置(1)
CAD装置(2)
メディア
AutoCADの
DIESELマクロ
CSV
DXF
PCES
IGES
STEP
数学とCAD
CAD作ろ!
▲PREV
▼NEXT
|