如何把scrollbox中的内容保存为一图形文件('a.bmp')?(38分)

  • 主题发起人 主题发起人 liao_hc
  • 开始时间 开始时间
L

liao_hc

Unregistered / Unconfirmed
GUEST, unregistred user!
窗体上的scrollbox控件中包含一image控件,还有很多label控件,请问如何把scrollbox中的内容保存为一图形文件('a.bmp')?
就这点分了,诸位帮帮忙!!
 
下面的代码把scrollbox中的内容copy到image1中:
var acanvas:TCanvas;
begin
acanvas:=TCanvas.Create;
acanvas.Handle:=GetWindowDC(self.ScrollBox1.Handle);
image1.Picture.Bitmap.Width:=self.ScrollBox1.Width;
image1.Picture.Bitmap.Height:=self.ScrollBox1.Height;
image1.Picture.Bitmap.Canvas.CopyRect(image1.ClientRect,acanvas,self.ScrollBox1.ClientRect);
acanvas.Free;
end;
 
谢谢! 但我用下列程序后,观察到a.bmp文件显示的是极小的图形,在左上角一点点,其余大片的空白。请问这是怎么回事?
image2:=TImage.Create(self);
acanvas:=TCanvas.Create;
acanvas.Handle:=GetWindowDC(self.ScrollBox1.Handle);
image2.Picture.Bitmap.Width:=self.ScrollBox1.Width;
image2.Picture.Bitmap.Height:=self.ScrollBox1.Height;
image2.Picture.Bitmap.Canvas.CopyRect(image2.ClientRect,acanvas,self.ScrollBox1.ClientRect);

image2.picture.savetofile('e:/a.bmp');
acanvas.Free;
 
加上
image2.width:=scrollbox1.width;
image2.height:=scrollbox1.height;
试试
 
wfzha兄:谢谢!
图形大了,但保存的部分只是scrollbox中显示的部分,以及scrollbox外面的右下屏幕部分,scroll中未显示的部分并没有保存下来。还有什么办法吗?
 
这个不会,好像以前有人问过,没有答案[:(]
 

Similar threads

后退
顶部