冰
冰冷的雨
Unregistered / Unconfirmed
GUEST, unregistred user!
[]我在Form1上放了两个Panel、两个image和两个label,分别取名为paRude、imgRude、
lbRudeMark,以及paPreview、imgpreview、lbpreviewMark。前三个控件完全重叠,
后三个控件也一样(主要是为了控制image的漫游)。并设置两个image的AutoSize为true.
然后在程序中这样用:
procedure TForm1.Button2Click(Sender: TObject);
var
rt:TRect;
bmp:TBitmap;
begin
....
with imgRude do
rt := rect(Left,Top,width,height);
bmp := TBitmap.Create;
bmp.Width := imgRude.Width;
bmp.Height := imgRude.Height;
bmp.Canvas.Rectcopy(rt,imgRude,rt);
... // 对bmp灰度化、二值化、pf24bit转换至pf1bit
imgPreview.Canvas.Draw(0,0,bmp);
// 这一句或者用imgPreview.Canvas.Rectcopy(rt,bmp.Canvas,rt);也一样
.....
end;
问题出来了:当imgRude上的图像比paRude大时,用漫游可以看到整个图像;但按下Button2
之后,图像并没有完全到imgPreview上去,超出PaPreview范围的部分都被裁掉了,我无法
把图像取全。请问是什么原因?
lbRudeMark,以及paPreview、imgpreview、lbpreviewMark。前三个控件完全重叠,
后三个控件也一样(主要是为了控制image的漫游)。并设置两个image的AutoSize为true.
然后在程序中这样用:
procedure TForm1.Button2Click(Sender: TObject);
var
rt:TRect;
bmp:TBitmap;
begin
....
with imgRude do
rt := rect(Left,Top,width,height);
bmp := TBitmap.Create;
bmp.Width := imgRude.Width;
bmp.Height := imgRude.Height;
bmp.Canvas.Rectcopy(rt,imgRude,rt);
... // 对bmp灰度化、二值化、pf24bit转换至pf1bit
imgPreview.Canvas.Draw(0,0,bmp);
// 这一句或者用imgPreview.Canvas.Rectcopy(rt,bmp.Canvas,rt);也一样
.....
end;
问题出来了:当imgRude上的图像比paRude大时,用漫游可以看到整个图像;但按下Button2
之后,图像并没有完全到imgPreview上去,超出PaPreview范围的部分都被裁掉了,我无法
把图像取全。请问是什么原因?