Java 2D API强大而复杂,不过大多时候我们只需使用java.awt.Graphcis类的部分功能。下面的内容将覆盖大多数的常见应用。
Graphics 类中的方法大致可以分为两类:
- Draw and fill方法,用于绘制基本的图形、文本和图像;
- 属性设置方法,用于控制绘制和填充的效果。setFont()和setColor()等方法就属于这类方法。
下图显示这些方法和图像的对应关系:
1. drawString()
用于绘制文本:
g.drawString("Hello", 10, 10);
参数分别为:
- 待绘制字符串
- 起点x和y坐标
import java.applet.Applet; import java.awt.Graphics; public class Graphics_drawString extends Applet { @Override public void paint(Graphics g){ g.drawString("Hello Graphics", 75, 100); } } |
输出界面如下:
2. drawImage
绘制图像:
import java.applet.Applet; import java.awt.Graphics; import java.awt.Image; import java.awt.Toolkit; public class Graphics_drawImage extends Applet { @Override public void paint(Graphics g) { Image img = Toolkit.getDefaultToolkit().getImage(this.getClass().getResource("th.png")); g.drawImage(img, 0, 0, 400, 500, this); } } |
th.png是我随便选的一个图片,输出界面如下:
3. drawLine, drawArc, drawRect, drawOval, drawPolygon
这些方法用于绘制不同的形状。
根据需求不同,可以根据以下的建议选择Graphics的方法:
- 是否以图片原始大小渲染图片,或者根据指定rectangle缩放图片;
- 对图片的透明区域,是填充还是不管它。
2D graphics 的每个点都需要 (x,y) 坐标确定,所以所以的绘制和填充方法都需要位置信息。例如,绘制线条:
Graphics.drawLine(int x1, int y1, int x2, int y2);
其中,(x1, y1)是线条起点,(x2, y2) 是线条终点。