- 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绘图--第1章_Java_2d_API概念概述
Java标准教程:Java 2D绘图--第1章 Java 2d API概念概述
Java 2D API通过扩展抽象窗口工具箱(AWT),为Java程序提供了二维图像,文本和图形的功能。这个复杂的渲染包支持线形图像,文本和图形,为富用户界面,复杂绘图程序和图像处理器开发者提供灵活的,功能强大的框架。Java 2D对象出现在一个平面中,称为用户坐标系空间,和设备坐标系空间。当对象在屏幕或打印机中渲染时,用户空间坐标系被转换成设备空间坐标系。以下链接可以在开始学习Java 2D API时是很有用的:
????????? Graphics
????????? Graphics2D
Java 2D API提供了以下功能:
????????? 为设备和打印机展示统一的渲染模型。
????????? 大量基本集合图形,例如曲线,矩形,椭圆,以及渲染任何集合图形的渲染技术。
????????? 在图形,文本和图像中执行撞击检测。
????????? 一个复杂的模型,提供了控制如何渲染重叠对象。
????????? 增强型的颜色支持。
????????? 使用渲染提示控制渲染的质量。
这些主题在以下章节中进行介绍:
????????? Java 2D 渲染
????????? 基本集合图形
????????? 文本
????????? 图像
????????? 打印
?
1.1 坐标系
Java 2D API维护两个坐标系空间。
????????? 用户空间:指定基本图形的空间。
????????? 输出设备的坐标系,例如屏幕,窗口或打印机。
用户空间是独立于设备的逻辑坐标系,坐标系空间是您的应用程序使用的。所有传递到Java 2D渲染流程中的几何图形都使用用户空间坐标系指定。
当使用从用户空间到设备空间的转换时,原有的用户空间是组件绘制空间的左上角。X轴向右增加,y轴向下增加,和下图中展示的一致。窗体的左上角时(0, 0)。所有的坐标系都是用整数表示,通常是足够的。然而一些情况下需要浮点甚至double精度的坐标,也是支持的。
?
1.2 Java 2D渲染
Java 2D API为不同类型的设备提供了统一的渲染模型。在应用程序级别,不管设备是屏幕还是打印机,渲染流程是一样的。当组件需要展示时,它的paint或update方法会在合适的Graphics是上下文中被自动调用。
Java 2D API中包含java.awt.Graphics2D类,它扩展了Graphics类,同时为Java 2D API提供了增强型的图形和渲染特斯那个。这些特性包括:
????????? 渲染任意几何形状的轮廓,使用stroke和paint属性。
????????? 使用指定的颜色或paint属性指定的模式渲染任意几何图形。
????????? 渲染任意文本字符串(使用drawString方法)。Font属性用来将字符串转换成集合图形,然后使用paint属性渲染它。
????????? 渲染特定图形(drawImage方法)。
同时,Graphics2D类支持特定形状的渲染,例如drawOval和fillRect。所有上述的方法可以分成以下两组:
????????? 绘制形状的方法。
????????? 影响渲染的方法。
第二组方法使用构成Graphics2D 的state属性完成如下目的:
????????? 改变笔画宽度
????????? 改变多少笔画组合到一起。
????????? 设置剪切路径限制渲染的区域。
????????? 在对象渲染时进行转换,旋转,拉伸和剪切。
????????? 定义填充图形的颜色和模式
????????? 指定如何组合复杂的图形对象。
要在应用程序中使用Java 2D API,需要将传递到组件渲染方法的Graphics转换成Graphics2D对象,例如:
?
public void paint (Graphics g) {
Graphics2D g2 = (Graphics2D) g;
...
} ?
正如下面的图形所示,Graphics2D渲染上下文包含以下属性:
?
Pen属性应用于形状的外边框。Stroke属性让您可以使用任何点大小和模式划线。
?
?
Fill属性作用于图形的内部。这个绘图属性让您可以使用实心颜色,渐变色和其他模式填充图形。
?
Compositing在渲染对象重叠时起作用。
?
Transform属性在将被渲染对象从用户空间转换到设备空间坐标系时使用。可选的有变换,旋转,拉伸或剪切,他们可以通过这些属性生效。
?
Clip限制渲染的区域在Shape对象的范围之内定义的剪切路径。任何Shape对象都可以定义剪切。
?
Font属性将文本字符串转换成图形。
?
渲染提示指定在速度和
您可能关注的文档
最近下载
- 山东省烟台市蓬莱实验初级中学2024-2025学年度第一学期9年级道德与法治素养形成期中测试(图片版,含答案).docx VIP
- 全国2025年10月自考00185《商品流通概论》真题及答案.docx VIP
- 2023年4月 自考 06056 心理学史 试题.pdf VIP
- 涉案财物管理系统V2.0T-用户使用说明书.pdf VIP
- 2025年网络安全等级测评师(中级)考核试题与答案.pdf VIP
- 电梯学徒安全培训记录课件.pptx VIP
- 公务员制度专题二.ppt VIP
- tc官网软件资源中文产品手册voicetone.pdf VIP
- 路灯售后服务方案及措施.docx VIP
- 河北省部分高中2024-2025学年高一上学期11月阶段性测试语文试卷(含答案).docx VIP
原创力文档


文档评论(0)