theme: smartblue
持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第19天,点击查看活动详情
写在前面
最近几天忽然发现关于Graphics2D的详细使用比较少,正好这两天在搞Java操作图片的相关需求。
顺便整理一下Graphics2D相关的API方法,希望能帮到一些朋友。
为什么要写一个Graphics2D使用教程?
主要是因为以往都没使用Java处理过图片,也是趁着这一次储备总结一些相关知识。
如果你也恰好需要,那么这个系列将会很适合你。
Graphics2D是什么?
Graphics2D提供了针对几何模型、数学坐标,以及对图片的颜色处理、文本布局调整编辑等多维度处理多种功能。
在处理图片的时候,这个类是必然要用到的基础类。
Graphics2D虽然提供了三种体系,分别是图形、图片、文字三种,但是我们本次只说图片和文字;图形这个体系现在使用的太少了,如果遇到的话,还是自己去翻翻API文档吧。
欢迎关注专栏,会分开几篇文章来写。
具体使用
首先Graphics2D是继承于Graphics类,所以有些方法就一并说了。
今天先来学习几个比较基础的方法,这几个方法在图片或者文字处理时都会用到。
fillRect(Graphics类)
此方法,用来填充矩形形状的底色。
比如我这里需要白色,那么就可以使用下面的代码:
java BufferedImage image = new BufferedImage(500, 500, BufferedImage.TYPE_INT_RGB); Graphics2D graphics2D = image.createGraphics(); graphics2D.fillRect(0, 0, 310, 335); ImageIO.write(image,"png",new FileOutputStream("D:/3.png"));
生成图片如下:
这里我没有全部填充,是为了辨别。
fillArc
此方法,用来填充矩形或者圆形状的底色,其实这里和我们平时见到的饼状图差不多。
如果你需要画出一个区域图来,这个可能会帮到你。
但是这个方法的使用程度比较低。
使用方式就是传参会变一下,具体代码如下:
java BufferedImage image = new BufferedImage(500, 500, BufferedImage.TYPE_INT_RGB); Graphics2D graphics2D = image.createGraphics(); graphics2D.fillArc(0, 0, 500, 500, 10, 30); ImageIO.write(image,"png",new FileOutputStream("D:/3.png"));
生成图片如下:
fillOval
此方法,用来在一个矩形区域中填充一个圆形底色。
代码如下:
java BufferedImage image = new BufferedImage(500, 500, BufferedImage.TYPE_INT_RGB); Graphics2D graphics2D = image.createGraphics(); graphics2D.fillOval(0, 0, 500, 500); ImageIO.write(image,"png",new FileOutputStream("D:/3.png"));
生成图片如下:
小结
今天这篇文章,主要是介绍填充底色的几个通用方法,其中fillRect方法最常用,因为目前很少有人使用Java来画一些图了。