Delphi利用WindowsGDI实现文字倾斜

Delphi利用WindowsGDI实现文字倾斜,第1张

Delphi利用WindowsGDI实现文字倾斜,第2张

1.简介
在Delphi开发环境中,文字的输出效果一般是顶部和底部的“正统”字符。如何输出具有一定倾斜角度的文字以达到特殊的显示效果?在制作公章辅助设计软件的过程中,作者通过Windows图形设备接口函数实现了字符放射状分布的功能。

Windows图形设备接口(Graphics Device Interface)是Windows系统中图形的核心模块,以GDI.EXE的形式提供给开发者。Windows中的图形基本上是由GDI.EXE中的函数处理的。它的主要特点是在输出设备上支持设备无关的图形。在GDI函数中,文本也被视为一个图形对象,但并不是简单的用几何方式绘制,因为文本的输出涉及到字体。

根据Windows字体使用的技术,有三种字体:光栅字体、矢量字体和TrueType字体。其中,True Type字体的一个主要优点就是可以随意放大或旋转,任意大小都能达到满意的显示效果。特别是,它允许在显示器和打印机上使用相同的字体。Windows之所以能为应用程序提供设备独立性,是因为应用程序创建逻辑对象来使用物理对象。同样,字体的使用也是一样的:应用程序在使用字体时,首先创建逻辑字体,这样Windows就可以从设备中选择一个匹配的物理字体,从而达到更准确的输出效果。

二。内容

使用Windows GDI函数实现文本倾斜效果的基本步骤如下:

1.获取设备描述表或图形设备的句柄:hdcgetdc(感谢一个winhandle);


2。创建逻辑字体并设置文本的倾斜度:hfont create font indirect(log font far * iplf),


其中,Iplf是tagLogFont结构,通过设置其lfEscapement可以设置字符的倾斜度(实际度数的10倍),如:0度-正常字体、450度-45度斜向左上方、900度-直向左等。

3.在设备列表中选择逻辑字体,以便Windows选择与之匹配的物理字体,新字体替换旧字体:

HGDIOBJ SelectObject(HDC hdc,HGDIOBJ HGDIOBJ);


注意:在此之前,现在

4.使用当前设备的字体进行文本输出:Bool Textout (HDC HDC,Int Posx,Int Posy,LPCTSTROUTSTR,Int STRENGTH);


5。释放未使用的图形对象(此处为逻辑字体):bool delete对象(hgdibj h对象);

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » Delphi利用WindowsGDI实现文字倾斜

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情