Java标准教程:Java 2D绘图--第4章使用Text.docVIP

Java标准教程:Java 2D绘图--第4章使用Text.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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作用于最初创建的字体,就没有这个限制。 这个问题的解

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档