还
还是朋友
Unregistered / Unconfirmed
GUEST, unregistred user!
初始时Image的大小为200, 200, 用红色填满Image。
点击按钮,Image大小变为600, 600, 而这时用
Image.Canvas.FillRect(Rect(0,0,Image.Width, Image.Height));
填的区域却还是原来的大小???为什么???
而把Image的stretch设为true,就可以了。
但我的程序中不能设为ture呀,因为那样,图像就变形了?
有其它的解决办法吗???
源码如下:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Image: TImage;
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
begin
Image.Width := 200;
Image.Height := 200;
Image.Canvas.Brush.Color := clRed;
Image.Canvas.FillRect(Rect(0,0,Image.Width, Image.Height));
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Image.Width := 600;
Image.Height := 600;
Image.Canvas.Brush.Color := clBlack;
Image.Canvas.FillRect(Rect(0,0,Image.Width, Image.Height));
end;
end.
点击按钮,Image大小变为600, 600, 而这时用
Image.Canvas.FillRect(Rect(0,0,Image.Width, Image.Height));
填的区域却还是原来的大小???为什么???
而把Image的stretch设为true,就可以了。
但我的程序中不能设为ture呀,因为那样,图像就变形了?
有其它的解决办法吗???
源码如下:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Image: TImage;
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
begin
Image.Width := 200;
Image.Height := 200;
Image.Canvas.Brush.Color := clRed;
Image.Canvas.FillRect(Rect(0,0,Image.Width, Image.Height));
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Image.Width := 600;
Image.Height := 600;
Image.Canvas.Brush.Color := clBlack;
Image.Canvas.FillRect(Rect(0,0,Image.Width, Image.Height));
end;
end.