文档

Java™教程
隐藏目录
Java 2D渲染
路径: 2D 图形
课程: Java 2D API 概述

Java 2D 渲染

Java 2D API提供了一个统一的渲染模型,适用于不同类型的设备。在应用程序层面,无论目标渲染设备是屏幕还是打印机,渲染过程都是相同的。当组件需要显示时,会自动调用其paintupdate方法,并提供适当的Graphics上下文。

Java 2D API包括java.awt.Graphics2D类,该类扩展了Graphics类,提供了对Java 2D API增强图形和渲染功能的访问。这些功能包括:

此外,Graphics2D类还支持用于特定形状的Graphics渲染方法,如drawOvalfillRect。上述所有方法可以分为两组:

  1. 用于绘制形状的方法
  2. 影响渲染的方法

第二组方法使用状态属性来形成Graphics2D上下文,用于以下目的:

要在应用程序中使用Java 2D API功能,将传递到组件渲染方法中的Graphics对象转换为Graphics2D对象。例如:

public void paint (Graphics g) {
    Graphics2D g2 = (Graphics2D) g;
    ...
}

如下图所示,Graphics2D类的渲染上下文包含多个属性。

这个图形表示了描绘形状的笔触 pen属性应用于形状的轮廓。这个笔触属性允许你用任何点大小和虚线模式绘制线条,并对线条应用末端装饰和连接装饰。
这个图形展示了如何用纯色填充形状 fill属性应用于形状的内部。这个绘画属性允许你用纯色、渐变和图案填充形状。
这个图形展示了如何组合现有图像和图形原语 compositing属性在渲染的对象重叠现有对象时使用。
这个图形表示了剪切变换 transform属性在渲染过程中应用,将渲染对象从用户空间转换为设备空间坐标。通过这个属性还可以应用可选的平移、旋转、缩放或剪切变换。
这个图形表示了如何通过使用Shape对象来定义剪切路径 clip类型将渲染限制在用于定义剪切路径的Shape对象的轮廓内。任何用于定义剪切的Shape对象都可以使用这个剪切属性。
这个图形展示了字形的示例

font属性用于将文本字符串转换为字形。

这个图形表示了抗锯齿 渲染提示指定在速度和质量之间的权衡偏好。例如,你可以指定是否应使用抗锯齿,如果此功能可用的话。另请参见控制渲染质量

要了解更多关于转换和组合的内容,请参阅Java2D高级主题

当设置了属性后,将传递适当的属性对象。如下面的示例所示,要将绘画属性更改为蓝绿色渐变填充,你需要构造一个GradientPaint对象,然后调用setPaint方法。

gp = new GradientPaint(0f,0f,蓝色,0f,30f,绿色);
g2.setPaint(gp);

上一页:坐标
下一页:几何原语