我一直试图通过在位图上创建画布来显示矩形。它看起来像这样:
TRoom = class
private
width, length, X1,X2,Y1,Y2, index: integer;
public
plane: TBitmap;
procedure draw;
procedure setparam;
function getparam: integer;
end;
procedure TRoom.draw;
begin
plane:= TBitmap.create;
plane.canvas.Pen.Color:= 1791767;
plane.Canvas.pen.Width:= 3;
plane.canvas.Rectangle(10,10,20,20);
end;
如标题所述,画布和矩形都不会出现。 我以前从未在Delphi中使用过画布,因此我认为它是一件相当简单的事情。
答案 0 :(得分:2)
TBitmap
是一个非可视类,表示光栅图像,2D像素数组。它本身永远不可见。您需要在屏幕上绘制它才能看到它。
您应该做的是创建一个可以绘制的视觉控件。例如TPaintBox
。将其中一个放在表单上,并为其OnPaint
事件添加处理程序。
procedure TForm1.PaintBox1Paint(Sender: TCanvas);
begin
PaintBox1.Canvas.Pen.Color :=. 1791767;
PaintBox1.Canvas.Pen.Width := 3;
PaintBox1.Canvas.Rectangle(10, 10, 20, 20);
end;