Java 2D 渲染

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

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

此外,Graphics2D类支持针对drawOvalfillRect等特定形状的Graphics渲染方法。上面表示的所有方法可以分为两组:

第二组方法将形成Graphics2D上下文的状态属性用于以下 Object:

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

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

如下图所示,Graphics2D类呈现上下文包含多个属性。

* pen 属性*应用于形状的轮廓。此笔触属性使您可以绘制具有任何磅值和虚线图案的线,并应用端盖并将装饰连接到一条线上。
填充属性应用于形状的内部。此绘画属性使您可以用纯色,渐变和图案填充形状。
当渲染的对象与现有对象重叠时,使用* compositing 属性*。
* transform *属性在渲染期间应用,以将渲染的对象从用户空间转换为设备空间坐标。也可以通过此属性应用可选的平移,旋转,缩放或剪切变换。
* clip *类型将渲染限制为用于定义剪切路径的Shape对象轮廓内的区域。用于定义剪辑的任何Shape对象。
* font *属性用于将文本字符串 转换为字形。
渲染提示指定速度和质量之间的权衡取舍。例如,如果此功能可用,您可以指定是否应使用抗锯齿。另请参见控制渲染质量

要了解有关转换和合成的更多信息,请参见Java2D 中的高级主题类。

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

gp = new GradientPaint(0f,0f,blue,0f,30f,green);
g2.setPaint(gp);
首页