截取屏幕 ( 积分: 100 )

  • 主题发起人 主题发起人 Avalon
  • 开始时间 开始时间
A

Avalon

Unregistered / Unconfirmed
GUEST, unregistred user!
已知屏幕上两坐标
如何截取屏幕上这两个点构成的 矩形的 内切椭圆的 区域
 
已知屏幕上两坐标
如何截取屏幕上这两个点构成的 矩形的 内切椭圆的 区域
 
我建议是先把整个屏幕截取下来,然后在处理截下来的图应该比较方便吧?
 
getDc(0);
等等
 
procedure TForm1.Button5Click(Sender: TObject);
var
bmp:tbitmap;
fc:tcanvas;
dc:hdc;
begin
dc:=getdc(0);
fc:=tcanvas.Create ;
fc.handle:=dc;
bmp:=tbitmap.Create;
bmp.Height:=form1.Height;
bmp.Width:=form1.Width;
image1.Height:=checklistbox1.Height;
image1.Width:=checklistbox1.Width;
bmp.Canvas.CopyRect(rect(0,0,screen.Width,screen.Height),fc,rect(0,0,screen.Width,screen.Height ));
image1.Picture.Bitmap:=bmp;
image1.Repaint;
bmp.Free;
end;
 
屏幕录象机,http://www.websamba.com/dxmylove
qq:171833017,email:dxmylove@yahoo.com.cn
 
先用CopyRect把矩形截下来,然后用CreateEllipticRgn函数生成一个椭圆的Region, 然合用函数CombineRgn和那个矩形合并,就可以了
 
代码真恐怖,笔直一条线.
 
还没搞定呀,要不我给你源码?
 
恐怖吧,这是现在最流行的艺术代码,简单地说就是菜鸟一派,厉害吧,怀旧哩
 
对了代码里什么bmp啦,checklistbox全都是附属产品属于,自己代码里用着方便,这里没什么用,虽然不含防腐剂,不过可以扔掉,看着改吧
 

Similar threads

I
回复
0
查看
612
import
I
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部