我要把窗体的一部分保存为图片
但不显示窗体。
我该怎么办
但不显示窗体。
我该怎么办
解决方案 »
- 关于DLL中函数的问题
- 三层数据库打包的问题。
- 在子线程中调用主界面的多个Tpaintbox画图,paintbox显示的图像会出现停顿的现象,请高手们帮帮忙!
- 现在有那些关于delphi opengl方面的书呢?推荐一下吧.
- BDE安装程序怎么写?
- 菜鸟关于COM的提问~~强烈希望能得到各位大侠的观注!!!!
- 用户在COMBOBOX中输入的值如何下次还能显示出来,不用数据库解决。
- 简单问题
- ADO连接SQLServer,哪些dll必须
- D6,D6,D6,D6,D6,D6,你想要吗?想要就说吧,不说我怎么知道你想要呢,你想要我不会不给你的,你想要吗?。。。。哈哈哈哈。
- 怎么让treeview的某个节点聚焦
- 如何取到CPU的频率
var
Fullscreen:Tbitmap;
FullscreenCanvas:TCanvas;
dc:HDC;
sBmp: TMemoryStream;
begin
top:=-3000;
Fullscreen := TBitmap.Create;
Fullscreen.Width := screen.width;
Fullscreen.Height := screen.Height;
DC := GetDC (0);
FullscreenCanvas := TCanvas.Create;
FullscreenCanvas.Handle := DC; Fullscreen.Canvas.CopyRect
(Rect (0, 0, screen.Width, screen.Height), fullscreenCanvas,
Rect (0, 0, Screen.Width, Screen.Height));//把整个屏幕复制到BITMAP中
//这里的screen.Width,screen.Height 你可以进行控制就可以保存成部分图片了。
sBmp:=TMemoryStream.Create;
try
Fullscreen.SaveToStream(sBmp);
sBmp.Position := 0;
FullscreenCanvas.Free;
ReleaseDC (0, DC);
sBmp.SaveToFile('C:\A.BMP'); //文件路径
finally
sBmp.Free;
end;
messagebeep(1);
end;
path:string;
dc:Hdc;
begin
bitmap:=Tbitmap.Create;
bitmap.Width:=FBarCode.barcode.Width;
bitmap.Height:=FBarCode.barcode.Height; dc:=Getdc(0);
bitmap.Handle:=dc; bitblt(bitmap.Canvas.Handle,0,0,bitmap.Width,bitmap.Height,
FBarCode.Canvas.Handle,
0,0,SRCCOPY); path:=ExtractFilePath(Application.ExeName);
path:=path+'barCode.bmp';
bitmap.SaveToFile(path);
bitmap.Free;
end
>> bitmap.Handle:=dc;
to lin00lin(小林):
我觉得这两句有问题!
还有, 窗体显示否, 我觉得与你的copy到bmp没有关系!!!
var
Bitmap : TBitmap ;
begin
if not Assigned(Form2) then
Form2 := TForm2.Create(Application);
Bitmap := TBitmap.Create ;
try
bitmap.Width := form2.Width ;
bitmap.Height := form2.Height ;
Msg.DC := bitmap.Canvas.Handle ;
form2.PaintTo(bitmap.Canvas,0,0) ;
Bitmap.SaveToFile('c:\1.bmp');
finally
Bitmap.Free ;
end;
end;