Delphi7 でヘルプを見ると、TCanvas に DrawPoint と DrawPoints というメソッドがあると書いてあるんですが、実際には使えません。
なにか使う方法があるのでしょうか?
また、Canvas上に等間隔のグリッド点を書きたいだけなので、
良い方法があったら教えて下さい。
よろしくお願いします。
使えますよ。
CLXアプリですが。
VCLで等間隔のグリッドを書くのであれば、普通にForで回してやればよいかと思います。
グリッド点ってなんでしょう。
ドットの線で描いたグリッドですかね?
もしそうならこんな感じで。
procedure TForm1.Button1Click(Sender: TObject);
var
col,row,W,H,i :integer;
begin
col :=10; //列の数
row :=5; //行の数
W :=50; //セルの幅
H :=20; //セルの高さ
Canvas.Pen.Style :=psDot; //グリッド点(?)
for i :=0 to col do begin
Canvas.MoveTo(W*i,0);
Canvas.LineTo(W*i,H*row);
end;
for i :=0 to row do begin
Canvas.MoveTo(0,H*i);
Canvas.LineTo(W*col,H*i);
end;
end;
>にしのさん
なるほどCLXアプリなんですね。
だから使えなかったですね・・・
for 使って回すのは分かりますが、
例えば1ピクセルの点を書くのにも LineTo で書かなければいけないですか?
>みんみんさん
ソースありがとうございます。
でも説明不足か、ちょっと言いたい事と違うようで・・・
例えば、100 x 100 キャンバスに、横10点、縦10点、計100のポイントを
書いて、グリッドにしたいという事なんですよ?
分かりますかねぇ??
1ピクセルであれば、TCanvasのPixelsプロパティでできます。
こんな感じです。
for x := 0 to 10 do
for y := 0 to 10 do
Canvas.Pixels[x * 10, y * 10] := clRed;
>にしのさん
なるほどピクセル使って色変えていくわけですね。
その方法使って見ます。
ありがとうございました。
ツイート | ![]() |