Java 2D API - 2. Graphics 入门

Posted code_philo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 2D API - 2. Graphics 入门相关的知识,希望对你有一定的参考价值。

Java 2D API强大而复杂,不过大多时候我们只需使用java.awt.Graphcis类的部分功能。下面的内容将覆盖大多数的常见应用。

 

Graphics 类中的方法大致可以分为两类:

  • Draw and fill方法,用于绘制基本的图形、文本和图像;
  • 属性设置方法,用于控制绘制和填充的效果。setFont()setColor()等方法就属于这类方法。

 

下图显示这些方法和图像的对应关系:

clip_image001

 

1. drawString()

用于绘制文本:

g.drawString("Hello", 10, 10);

参数分别为:

  • 待绘制字符串
  • 起点xy坐标

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);

}

}

输出界面如下:

clip_image002

 

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是我随便选的一个图片,输出界面如下:

clip_image003

 

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) 是线条终点。

以上是关于Java 2D API - 2. Graphics 入门的主要内容,如果未能解决你的问题,请参考以下文章

java生成图片验证码实现

使用Java2D改善API绘制效果

用于绘制图像的 Java Graphics2D 方法,其中使用了像素 alpha 值但颜色值被替换为给定的颜色

Java 上的 (Graphics g, Graphics2D) 问题

java图形处理-Java Graphics2D

Java2D / Graphics2D 性能