《Java核心技术 卷Ⅱ 高级特性(原书第10版)》一3.7.4 示例:生成SVG文件

简介: 本节书摘来华章计算机《Java核心技术 卷Ⅱ 高级特性(原书第10版)》一书中的第3章 ,第3.7.4节,[美] 凯S.霍斯特曼(Cay S. Horstmann) 著陈昊鹏 译 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

3.7.4 示例:生成SVG文件

程序清单3-10是一个生成XML输出的典型程序。该程序绘制了一幅现代派绘画,即一组随机的彩色矩形(参见图3-6)。我们使用可伸缩向量图形(Scalable Vector Graphics, SVG)来保存作品。SVG是XML格式的,它使用设备无关的方式描述复杂图形。你可以在http://www.w3c.org/ Graphics/SVG找到更多关于SVG的信息。要查看SVG文件,只需使用任意的现在主流的浏览器。
image

我们并没有涉及SVG的细节。就我们的目的而言,我们只需要知道怎样表示一组彩色的矩形。下面是一个例子:
image

正如你看到的,每个矩形都被描述成了一个rect节点。它有位置、宽度、高度和填充色等属性,其中填充色以十六进制RGB值表示。
注意:SVG大量使用了属性。实际上,某些属性相当复杂。例如,下面的path元素:
image

M是指“moveto”命令、L是指“lineto”、z是指“closepath”(!)。显然,该数据格式的设计者不太信任XML表示结构化数据的能力。在你自己的XML格式中,你可能想使用元素来替代复杂的属性。
image
image
image
image

相关文章
|
2天前
|
Java
Java“解析时到达文件末尾”解决
在Java编程中,“解析时到达文件末尾”通常指在读取或处理文件时提前遇到了文件结尾,导致程序无法继续读取所需数据。解决方法包括:确保文件路径正确,检查文件是否完整,使用正确的文件读取模式(如文本或二进制),以及确保读取位置正确。合理设置缓冲区大小和循环条件也能避免此类问题。
|
7天前
|
Java
利用GraalVM将java文件变成exe可执行文件
这篇文章简明地介绍了如何使用GraalVM将一个简单的Java程序编译成exe可执行文件,首先通过javac命令编译Java文件生成class文件,然后使用native-image命令将class文件转换成独立的exe文件,并展示了如何运行这个exe文件。
20 0
利用GraalVM将java文件变成exe可执行文件
|
7天前
|
Java
用java搞定时任务,将hashmap里面的值存到文件里面去
本文介绍了如何使用Java的`Timer`和`TimerTask`类创建一个定时任务,将HashMap中的键值对写入到文本文件中,并提供了完整的示例代码。
18 1
用java搞定时任务,将hashmap里面的值存到文件里面去
|
4天前
|
存储 Java
什么是带有示例的 Java 中的交错数组?
什么是带有示例的 Java 中的交错数组?
24 9
|
9天前
|
Java API 网络安全
Java 发送邮件示例
本示例展示了如何使用Java编程语言发送电子邮件。通过利用JavaMail API,这段代码实现了从配置SMTP服务器,设置邮件属性,到发送邮件的全过程,为开发者提供了实用的参考。
|
4天前
|
消息中间件 分布式计算 Java
大数据-73 Kafka 高级特性 稳定性-事务 相关配置 事务操作Java 幂等性 仅一次发送
大数据-73 Kafka 高级特性 稳定性-事务 相关配置 事务操作Java 幂等性 仅一次发送
13 2
|
4天前
|
消息中间件 存储 Java
大数据-58 Kafka 高级特性 消息发送02-自定义序列化器、自定义分区器 Java代码实现
大数据-58 Kafka 高级特性 消息发送02-自定义序列化器、自定义分区器 Java代码实现
18 3
|
4天前
|
消息中间件 Java 大数据
大数据-56 Kafka SpringBoot与Kafka 基础简单配置和使用 Java代码 POM文件
大数据-56 Kafka SpringBoot与Kafka 基础简单配置和使用 Java代码 POM文件
24 2
|
7天前
|
XML JavaScript Java
java与XML文件的读写
java与XML文件的读写
13 3
|
8天前
|
存储 前端开发 Java
Java后端如何进行文件上传和下载 —— 本地版(文末配绝对能用的源码,超详细,超好用,一看就懂,博主在线解答) 文件如何预览和下载?(超简单教程)
本文详细介绍了在Java后端进行文件上传和下载的实现方法,包括文件上传保存到本地的完整流程、文件下载的代码实现,以及如何处理文件预览、下载大小限制和运行失败的问题,并提供了完整的代码示例。
98 1