All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
visual c++中常用MFC文件及库文件
jsp+ajax自动刷新实例_[AJAX教程]
PHP学习宝典-第三章 (续篇)_[PHP教程]
如何在十天学内会php之第三天_php资料_编程技术
教你IIS6的PHP最佳配置方法_php资料_编程技术
技巧:用PHP程序计算时间差的几种方法_[PHP教程]
ASP.NET技巧:存储过程的分析_[Asp.Net教程]
php常用数据库备份类_[PHP教程]
ASP.NET,2.0发送电子邮件全面剖析之二_.net资料_编程技术
sqlserver2000企业管理器打不开了_[SQL,Server教程]
Reading number is top 10 pictures
The money of more than 100 countries and regions20
再发两张抽象画
西班牙山村小景2
2012 national geographic daily picture9
Small s breast enhancement demonstration
Sora aoi on twitter5
LiXiang early youth photo
Li Zongrui hunting video screenshots2
The money of more than 100 countries and regions4
Seductive beauty of crime1
Download software ranking
C#COM编程指南
株洲本地在线棋牌游戏
c#程序设计案例教程
apache-tomcat-6.0.33
Be there or be square
Boxer's Top ten classic battle9
jdk1.6 for windows
Ashlynn Video1
VC++6.0简体中文版
C#编程思想
aaa published in(发表于) 2014/7/19 0:10:49 Edit(编辑)
delphi坐标系统使用方法详解

delphi坐标系统使用方法详解

delphi坐标系统使用方法详解|实例

坐标系统

在使用大多数GDI 函数时,需要指定坐标集,用来确定绘图的位置。这些坐标基于一个度量单元,诸如像素。通常,GDI 以垂直方向和水平方向上的两个轴来定位,也就是说,通过增减x、y 坐标值来移动绘图位置。Win32 主要依赖两个因素来执行绘图函数:坐标系统和映射模式。

Win32 坐标系统与任何其他坐标系统没有什么区别。指定了一个点的x、y 坐标,Win32 就在绘图表面定位这个点。Win32 使用3 种坐标系统,分别是设备、逻辑和通用坐标系。Windows 95 不支持通用坐标系(位图旋转、裁剪、扭曲等)。本章将讨论前两种模式。

11.3.1 设备坐标系

设备坐标系是指运行于Win32 的设备。它以像素为单位进行度量,定位方向是水平轴从左到右、垂直轴从上到下。例如如果在640×480 的显示器上运行Windows,设备左上角坐标为(0,0),而右下角坐标为(639,479)。

11.3.2 逻辑坐标系

在Win32 中,有设备环境(或称DC)的区域通常使用逻辑坐标系。本节首先介绍屏幕、窗体、窗体的客户区。

11.3.3 屏幕坐标系

屏幕坐标系是指显示设备,它是以像素为度量单位的坐标系,如在640×480 的显示器上,Screen.Width 和Screen.Hight 分别为640 和480 像素。要获取屏幕的设备环境,可以使用Win32 API中的GetDC()函数。注意,当使用GetDC()函数后,必须调用RaleaseDC()函数来释放所获取的设备环境。下面的代码说明了这一点:

var

ScreenDC: HDC;

begin

ScreenDC := GetDC (0); //0 代码显示器

Try

...

finally

ReleaseDC(0,ScreenDC);

end;

end;

11.3.4 窗体坐标系

窗体坐标系也叫窗口坐标系,指整个窗体或窗口,包括标题栏和边框。Delphi 7 没有直接提供访问绘图区域DC 的属性,但可以通过使用Win32 API 中的GetWindowsDC()函数来获得DC。例如:

MyDC:=GetWindowDC(Form1.Handle);

这个函数返回指定窗口的设备环境。

需要注意的是可以通过TCanvas 对象来操纵由GetDC()和GetWindow()所获得的设备环境,进而通过设备环境来调用TCanvas 的方法。只要创建一个TCanvas 实例,然后把GetDC()或GetWindowsDC()的结果赋给TCanvas.Handle 属性。由于TCanvas 拥有句柄,当画布对象释放时将自动释放该设备环境。

下面的代码说明了这个技术:

procedure TForm1.Button1Click(Sender: TObject);

var

C: TCanvas;

begin

C:= TCanvas.Create;

C.Pen.Width :=5;

C.Font.Size:=30;

C.Font.Color:=clRed;

Try

C.Handle := GetDC (0);

C.TextOut(20,20,’Hello World’);

Finally

C.Free;

end;

end;




添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.