java中qq中拉伸的文件,delphi中如何实现QQ中的截图并实现拉伸放大移动的功能
你按下截图按钮的时候,其实看到的不是真正的桌面了,是程序把桌面的图片截下来画在一个全屏的窗口上.
我写个小程序给你参考一下。
unit unMainFrm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;
type
TScreenCanvas = class(TCanvas)
protected
procedure CreateHandle; override;
public
destructor Destroy; override;
end;
TForm2 = class(TForm)
procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FormMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
procedure FormCreate(Sender: TObject);
procedure FormPaint(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
private
{ Private declarations }
FBitMap: TBitmap;
FScreenCanvas: TScreenCanvas;
FDrawEnable: Boolean;
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
procedure TForm2.FormCreate(Sender: TObject);
begin
FBitMap := TBitmap.Create;
with FBitMap do
begin
Width := 1024;
Height := 768;
end;
FScreenCanvas := TScreenCanvas.Create;
FBitMap.Canvas.CopyRect(Rect(0,0,1024,768), FScreenCanvas, Rect(0,0,1024,768));
end;
procedure TForm2.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = VK_ESCAPE then
Application.Terminate;
if Key = VK_CONTROL then
begin
Canvas.FillRect(Canvas.ClipRect);
Invalidate;
end;
end;
procedure TForm2.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
FDrawEnable := True;
Randomize;
Canvas.Brush.Color := Random($FFFFFF + 1);
Ellipse(Canvas.Handle, X - 5, Y - 5, X + 5, Y + 5);
end;
procedure TForm2.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if FDrawEnable then
begin
Ellipse(Canvas.Handle, X - 5, Y - 5, X + 5, Y + 5);
end;
end;
procedure TForm2.FormMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
FDrawEnable := False;
end;
procedure TForm2.FormPaint(Sender: TObject);
begin
Canvas.Draw(0, 0, FBitMap);
end;
{ TScreenCanvas }
procedure TScreenCanvas.CreateHandle;
begin
inherited;
Handle := GetDC(0);
end;
destructor TScreenCanvas.Destroy;
begin
ReleaseDC(Handle, 0);
inherited;
end;
end.
你改下单元名和窗体的名字就可以用了.
TScreenCanvas是用来获取桌面图像的类.
只要掌握CopyRect函数就没什么问题了,然后记录几个鼠标的点击位置就可以把图给截出来.图片的拉伸移动也是CopyRect函数搞的
java中qq中拉伸的文件,delphi中如何实现QQ中的截图并实现拉伸放大移动的功能相关推荐
- java log4j mysql_java – 配置log4j属性文件以存储在mysql数据库中
如果你使用的是mysql.创建一个log4j.properties文件.这对我有用. 把它放在你的应用程序的根文件夹中.即所有包裹的根.我也有一个包含字段id,日期,用户,消息和类的表日志. log4 ...
- 用java在d盘创建test文件_在D盘中创建文件test.txt,文件中内容为:hello Java,然后利用流把该文件拷贝到E盘根目录中...
// 在D盘中创建文件test.txt,文件中的内容为:"hello Java" File file = new File("D:/test.txt"); St ...
- qq服务器上的文件删除后如何恢复,qq文件过期怎么恢复(过期的QQ文件如何申请恢复)...
日常工作上,常常会应用QQ来推送文档,很有可能有一些情况下忘掉或太忙而沒有去接受文档,进而造成 QQ文档到期,那麼针对到期的QQ文档应当如何恢复呢?一切正常状况下文档到期了就没有办法修复了,由于是临时 ...
- oracle10gasmcmd,ORACLE 10g中ASMCMD使用及ASM文件
ORACLE 10g中ASMCMD使用及ASM文件XML DB访问 1.引言 自动存储管理(ASM)是Oracle数据库10g的新功能,它为数据库管理员提供了一个简单的存储管理界面,并且该界面在所有服 ...
- DataTable中的数据导出Excel文件
DataTable中的数据导出Excel文件 View Code ///<summary> /// 将DataTable中的数据导出到指定的Excel文件中 ///</summary ...
- tp view html 引用css,TP5.1:将外部资源引入到框架中(css/js/font文件)
为了让我们的框架形式变得更加好看,我们需要加入Bootstrap和Jq文件到框架中 1.通过Bootstrap和jq官网进行相关文件的下载 (1)Bootstrap下载地址:https://v3.bo ...
- ubuntu中非常好用的文件比较工具meld
ubuntu中非常好用的文件比较工具meld 类似于windows中的beyondcompare,非常好用,安装好之后,直接在命令行写meld即可
- QQ目录里哪个文件是记录系统消息的?
CardMgr? Config?ewh? MsgEx? notes? ShareInfo? User? VQQ? 还是其他的文件? 解答: 应该是MsgEx.db,不过这个也难说,至今没有统一出来到底 ...
- java命令 jar文件夹_java中jar命令打包一个文件夹下的所有文件
(1)首先,必须保证java的所有路径都设置好,在dos提示符下输入jar -help 出现C:\Documents and Settings\dly>jar -help 非法选项:h 用法:j ...
最新文章
- Android开发环境搭建与起步--太详细了,一步一步图文教你
- 基于【CentOS-7+ Ambari 2.7.0 + HDP 3.0】HAWQ数据仓库 使用之 gpfdist协议
- python 三引号_Python 字符串
- 打包跳过编译_Apache Flink v1.9-SNAPSHOT 源码编译
- 测试公众号修改名称_微信公众号开通个人认证,只需三步
- html js url 跳转页面内容,js跳转页面方法总结
- WCF NetTcpBinding Transport安全模式(7) ClientCredentialType证书验证模式---- ChainTrust验证模式...
- opencv函数速查笔记
- TCP、UDP、HTTP、SOCKET、WebSocket之间的区别
- 【干货】java参考文献论文类
- 基于Zabbix的校园网核心监控系统设计与实现
- HTML学生个人网站作业设计:动漫网站设计——蜡笔小新(3页) HTML+CSS+JavaScript 简单DIV布局个人介绍网页模板代码 DW学生个人网站制作成品下载
- VS2013使用技巧汇总
- Centos7.5系统部署禅道协调管理系统以及配置优化
- 阿里云新优惠活动,幸运券免费领取
- Android项目架构图
- 【通讯术语】VoLTE
- IOS8以上打开定位闪退的问题
- 菜鸟的经历和今后目标
- 【优化调度】基于matlab遗传算法求解公交车调度排班优化问题【含Matlab源码 2212期】
热门文章
- MFC中简单绘图几种方式
- datax源码阅读二:Engine流程
- [IOS]clang diagnostic、Wprotocol ..
- wampserver环境下,apache本地下设置多个域名
- vs2013update4 vs-mda-remote cordova真机测试ios
- 51单片机(STC89C52RC) lcd1602实验小结
- Base64编解码(C++版)
- WebBrowser响应页面中的blank开新窗口及window.close关闭本窗体
- 在ASP.Net和IIS中删除不必要的HTTP响应头
- SQL Server 2005合并列成字符串 2008-11-07