unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;type
TForm1 = class(TForm)
Button1: TButton;
Image_MusicPlayCur: TImage;
Image_MusicPlayDemo: TImage;
Image_MusicPlayMax: TImage;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
var dest, src : trect;
begin
src := rect(0,0,6,29);
dest := rect(0,0,Image_MusicPlayMax.Width,Image_MusicPlayMax.Height);
Image_MusicPlayMax.canvas.copyrect(dest, Image_MusicPlayDemo.canvas, src);
end;procedure TForm1.Button2Click(Sender: TObject);
var dest, src : trect;
begin
src := rect(0,0,25,7);
dest := rect(0,6,25,13);
Image_MusicPlayMax.canvas.copyrect(dest, Image_MusicPlayCur.canvas, src);
end;end新建立一个框架,放里两个按钮和两个图片,用Image_MusicPlayMax.canvas.copyrect(dest, Image_MusicPlayCur.canvas, src);这个方法图个图,发现没有问题,当改变窗体尺寸,在点按钮给图片重新画图时,图片随窗体尺寸等比例缩放,没有按指定的宽度和高度正常画图
按常理说,给图片指定定和宽,不会出现这个问题了,谁遇到过?能不能帮我解决一下?
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;type
TForm1 = class(TForm)
Button1: TButton;
Image_MusicPlayCur: TImage;
Image_MusicPlayDemo: TImage;
Image_MusicPlayMax: TImage;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
var dest, src : trect;
begin
src := rect(0,0,6,29);
dest := rect(0,0,Image_MusicPlayMax.Width,Image_MusicPlayMax.Height);
Image_MusicPlayMax.canvas.copyrect(dest, Image_MusicPlayDemo.canvas, src);
end;procedure TForm1.Button2Click(Sender: TObject);
var dest, src : trect;
begin
src := rect(0,0,25,7);
dest := rect(0,6,25,13);
Image_MusicPlayMax.canvas.copyrect(dest, Image_MusicPlayCur.canvas, src);
end;end新建立一个框架,放里两个按钮和两个图片,用Image_MusicPlayMax.canvas.copyrect(dest, Image_MusicPlayCur.canvas, src);这个方法图个图,发现没有问题,当改变窗体尺寸,在点按钮给图片重新画图时,图片随窗体尺寸等比例缩放,没有按指定的宽度和高度正常画图
按常理说,给图片指定定和宽,不会出现这个问题了,谁遇到过?能不能帮我解决一下?
dest := rect(0,6,25,13);//这里也[定好了图看的位置了
当我点按钮重新指定一下,也是缩收状态呀?怎么回事
刚才说的这句话要怎么实现呀?
然后用我这段代码
procedure TForm1.Button1Click(Sender: TObject);
var
dest, src : trect;
mBitMap : TBitMap;
begin
mBitMap := TBitMap.Create;
mBitMap.Width := Image_MusicPlayMax.Width;
mBitMap.Height := Image_MusicPlayMax.Height; src := rect(0,0,6,29);
dest := rect(0,0,mBitMap.Width,mBitMap.Height);
mBitMap.canvas.copyrect(dest, Image_MusicPlayDemo.canvas, src); src := rect(0,0,25,7);
dest := rect(0,3,25,10);
mBitMap.canvas.CopyRect(dest, Image_MusicPlayCur.canvas, src); Image_MusicPlayMax.Picture.Assign(mBitMap); mBitMap.Destroy;
end;procedure TForm1.FormResize(Sender: TObject);
begin
Button1Click(nil);
end;