Delphi图象截取编程示例(7)

原创 2004年11月02日 10:45:00

(七)抓取窗体或控件图片窗体
创建一个新的Form2,保存为Capture2.pas。设置属性BorderIcons的四个属性为false.
BorderStyle设为bsNone,FormStyle设为fsStayOnTop.
两个公共变量:fRect:TRect,fBmp:TBitmap;

unit Capture2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  TForm2 = class(TForm)
    procedure FormCreate(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure FormPaint(Sender: TObject);
    procedure FormMouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
  private
    { Private declarations }
  public
    fRect:TRect;
    fBmp:TBitmap;
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}

//创建一个新的自定义光标CURSOR_1,放在Capture2.res资源
//文件中.是32*32的白色矩形边框,用来指示抓图的范围.

procedure TForm2.FormCreate(Sender: TObject);
var aDC:HDC;
const crHand = -18;
begin
  Screen.Cursors[crHand]:=LoadCursor(hInstance,'CURSOR_1');
  Cursor:=crHand;
  fBmp:= TBitmap.Create ;
  fBmp.Width := Screen.Width ;
  fBmp.Height:= Screen.Height ;
  aDC := GetDC(0);
  BitBlt(fBmp.Canvas.Handle,0,0,Screen.Width,Screen.Height,aDC,0,0,srcCopy);
  ReleaseDC(0,aDC);
  SetBounds(0,0,Screen.Width,Screen.Height);
end;

procedure TForm2.FormActivate(Sender: TObject);
const crHand=-18;
begin
  Screen.Cursors[crHand]:=LoadCursor(hInstance,pChar('CURSOR_1'));
  Cursor:=crHand;
end;

procedure TForm2.FormDestroy(Sender: TObject);
begin
  fBmp.Free;
  Screen.Cursor := crDefault;
end;

procedure TForm2.FormPaint(Sender: TObject);
begin
  Canvas.Draw(0,0,fBmp);
end;

procedure TForm2.FormMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  ModalResult:=mrOK;
end;

end.

delphi实现裁剪图片并上传至服务器

  • 2017年08月04日 16:47
  • 404KB
  • 下载

delphi剪切图像

  • 2011年03月07日 23:21
  • 737KB
  • 下载

图片剪裁并上传

struts2+jsp+jquery+Jcrop实现图片裁剪并上传 ---------------------------------------------------------------...
  • zhengshuoa
  • zhengshuoa
  • 2016年08月10日 17:35
  • 2598

任意不规则形状的图片剪裁

转自:http://blog.csdn.net/lexiaoyao20/article/details/6607225 原理:根据选择的区域(区域的选择需要用到GraphicsPath),根据区域可...
  • yangxi_001
  • yangxi_001
  • 2014年07月13日 12:15
  • 4747

DELPHI 控制摄像头拍照,截取任意矩形区域,保存成图片 源码,(原创)

  • 2009年09月28日 18:48
  • 921KB
  • 下载

Delphi图象截取编程示例(4)

(六)TMainForm的 (抓图)Action 事件1)全屏抓图[Capture Desktop]  Action 事件procedure TMainForm.cptDesktopExecute(S...
  • LuckyJan
  • LuckyJan
  • 2004年11月02日 10:41
  • 1935

delphi 取图片宽高

Var         Bmp:TBitMap;         Stream:TMemoryStream;     begin         Bmp   :=TBitMap.Create;    ...
  • xwchen
  • xwchen
  • 2007年09月24日 20:43
  • 2510

Delphi图像处理 -- 图像显示

阅读提示:    《Delphi图像处理》系列以效率为侧重点,一般代码为PASCAL,核心代码采用BASM。    《C++图像处理》系列以代码清晰,可读性为主,全部使用C++代码。    尽可能保持...
  • maozefa
  • maozefa
  • 2009年10月30日 11:16
  • 8228

Delphi基本图像处理方法汇总

本文实例汇总了Delphi基本图像处理方法。分享给大家供大家参考。具体分析如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13...
  • tesily
  • tesily
  • 2016年12月21日 13:39
  • 1187

Delphi图象截取编程示例(8)

(七)抓取图标(ICON)的窗体创建一个新的Form3,保存为Capture3.pas。设置属性BorderIcons的四个属性为false.BorderStyle设为bsNone,FormStyle...
  • LuckyJan
  • LuckyJan
  • 2004年11月02日 10:47
  • 3378
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Delphi图象截取编程示例(7)
举报原因:
原因补充:

(最多只允许输入30个字)