首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

一个关于屏幕截图的有关问题

2012-03-20 
一个关于屏幕截图的问题procedure GetScreen(var bmp: TBitMap)varDC: HDCMyCanvas: TCanvasMyRect: TR

一个关于屏幕截图的问题
procedure GetScreen(var bmp: TBitMap);  
var
  DC: HDC;
  MyCanvas: TCanvas;
  MyRect: TRect;
begin
  DC:= GetWindowDC(0);
  MyCanvas:= TCanvas.Create;
  try
  MyCanvas.Handle:= DC;
  MyRect:=Rect(0+x-25, 0+y-25, Screen.Width-x+25, Screen.Height-y+25); // X,Y 为当前鼠标的屏幕坐标
  bmp:= TBitMap.Create;
  bmp.PixelFormat:= pf24bit;
  bmp.Width:= 50;
  bmp.Height:= 50;
  bmp.PixelFormat:= pf32bit;
  bmp.Canvas.CopyRect(MyRect, MyCanvas, MyRect);
  finally
  MyCanvas.Handle:= 0;
  MyCanvas.Free;
  releaseDC(0, DC);
  end;
end;

这样截下图为什么每次都是 0,0 开始的 50X50 位图, 移到其他地方就是白色的了,求指点

[解决办法]
Rect(0+x-25, 0+y-25, Screen.Width-x+25, Screen.Height-y+25); 
你限定它就是50*50了,你还能得到什么呢
[解决办法]
看来是Copy来的代码楼主自己还没理解透

热点排行