- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Java标准教程:Java 2D绘图--第4章使用Text
Java标准教程:Java 2D绘图--第4章使用Text
本节介绍文本API的用法,以及他们的渲染能力。至今为止,您已经有了基本的Java 2D文本API,同时知道如何设置字体和位置,以及绘制文本。
本节扩展了这些知识,同时更深入的介绍了Java 2D文本展示的知识。
这些主题在以下几个部分中讨论。
????????? 选择字体本节介绍如何使用Font类中的方法决定系统中存在哪些字体,创建一个Font对象,同时从字体家族中获得信息。
????????? 测量字体本节介绍了如何使用FontMetrics类的实例测量文本。
????????? 高级文本展示本节解释如何定位和渲染一段有风格的文本,如何展示抗锯齿的文本,以及如何使用文本属性定义文本风格。
?
1.1 选择字体
Java 2D定义了以下五个逻辑字体家族:
????????? Dialog
????????? DialogInput
????????? Monospaced
????????? Serif
????????? SansSerif
这些字体在任何Java平台都可得,同时可以当做底层平台中有相应属性字体的别名。Serif字体是和Times New Roman类似的字体,通常用来打印。Sans Serif字体通常在屏幕中使用。
这些字体定制成用户的本地化信息。同时,这些字体支持大范围的代码点(unicode字符集)。
除了家族之外,字体还有其他属性,最重要的是风格和大小。风格是粗体和斜体。
默认的Java 2D字体是12pt Dialog。这个字体是通常用在普通的72–120 DPI现实设备中的字体大小。应用程序可以通过下面的方式创建字体:
?
Font font = new Font(Dialog, Font.PLAIN, 12); ?
除了逻辑字体之外,Java软件支持访问系统中已经安装的其他字体。所有可找到的字体的可以通过以下方式得到:
?
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
String []fontFamilies = ge.getAvailableFontFamilyNames(); ?
FontSelector示例程序展示了如何定位和选择这些字体。您可以使用这个例子查看Sans Serif在您的系统中是什么。其他字体都称为物理字体。
有时,应用程序不能依赖于已经安装到系统中的字体,通常因为这些是自定义字体,在系统中不存在。这种情况下,应用程序必须包含字体。本科展示如何获取TrueType字体,这是现代操作系统中最常用的字体,将它转换成Font对象。
您可以使用这些方法之一:
?
Font java.awt.Font.createFont(int fontFormat, InputStream in);
Font java.awt.Font.createFont(int fontFormat, File fontFile); ?
要识别一个TrueType字体,fontFormat必须是常量Font.TRUETYPE_FONT。
?
Font font = Font.createFont(Font.TRUETYPE_FONT, new File(A.ttf)); ?
在这种情况下从文件中访问直接访问字体必须是很方便的。然而,如果您的代码不能访问文件系统资源,又或者字体被打包在应用程序或applet的JAR文件中,可能需要InputStream。
被返回的Font实体可以和Font.deriveFont(..)方法一起使用,派生一个合适的字体。例如例如NJ ZDI
?
try {
/* Returned font is of pt size 1 */
Font font = Font.createFont(Font.TRUETYPE_FONT, new File(A.ttf));
?
/* derive and return a 12 pt version : need to use float otherwise
* it would be interpreted as style
*/
return font.deriveFont(12f);
?
} catch (IOException ioe);
} catch (FontFormatException ffe);
} ?
使用deriveFont()时很重要的,因为字体是由应用程序创建的,不是底层操作系统的一部分。因为deriveFont作用于最初创建的字体,就没有这个限制。
这个问题的解
您可能关注的文档
最近下载
- 反渗透计算,输入参数可自动计算.xlsx VIP
- 2025小红书保健行业白皮书.pptx VIP
- 字词梳理及运用-2023学年三年级语文下册期中专项复习(部编版).pdf VIP
- 大班幼儿叙事讲述能力发展的现状调查及培养策略研究.docx VIP
- 第11课 辽宋夏金元的经济、社会与文化(教学课件)——高一历史统编版中外历史纲要上册.pptx VIP
- 中医临床实践指南制定规范ppt课件.ppt VIP
- 泰伯智库-时空智能技术与应用白皮书(2025).pdf
- 高密度沉淀池计算,输入参数可自动计算.xlsx
- 人教版七年级英语下册第五单元测试题-Unit-5-含答案.docx VIP
- 会计职业道德(第2版) 习题答案 王红云 .docx
原创力文档


文档评论(0)