文档

Java™ 教程
隐藏目录
控制渲染质量
路径:2D图形
课程:Java2D高级主题

控制渲染质量

使用Graphics2D类的渲染提示属性来指定您希望对象尽快呈现还是希望呈现质量尽可能高。

要在Graphics2D上下文中设置或更改渲染提示属性,构造一个RenderingHints对象,并通过使用setRenderingHints方法将其传递给Graphics2D。如果您只想设置一个提示,可以调用Graphics2DsetRenderingHint方法,并指定要设置的提示的键值对。(键值对在RenderingHints类中定义。)

例如,要设置抗锯齿的首选项(如果可能),可以使用setRenderingHint

public void paint (graphics g){
    Graphics2D g2 = (Graphics2D)g;
    RenderingHints rh = new RenderingHints(
             RenderingHints.KEY_TEXT_ANTIALIASING,
             RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
    g2.setRenderingHints(rh);
...
}

注意: 并非所有平台都支持修改渲染模式,因此指定渲染提示并不能保证它们会被使用。

RenderingHints支持以下类型的提示:

提示
反锯齿 KEY_ANTIALIASING VALUE_ANTIALIAS_ON
VALUE_ANTIALIAS_OFF
VALUE_ANTIALIAS_DEFAULT
Alpha 插值 KEY_ALPHA_INTERPOLATION VALUE_ALPHA_INTERPOLATION_QUALITY
VALUE_ALPHA_INTERPOLATION_SPEED
VALUE_ALPHA_INTERPOLATION_DEFAULT
颜色渲染 KEY_COLOR_RENDERING VALUE_COLOR_RENDER_QUALITY
VALUE_COLOR_RENDER_SPEED
VALUE_COLOR_RENDER_DEFAULT
抖动 KEY_DITHERING VALUE_DITHER_DISABLE
VALUE_DITHER_ENABLE
VALUE_DITHER_DEFAULT
分数文本度量 KEY_FRACTIONALMETRICS VALUE_FRACTIONALMETRICS_ON
VALUE_FRACTIONALMETRICS_OFF
VALUE_FRACTIONALMETRICS_DEFAULT
图像插值 KEY_INTERPOLATION VALUE_INTERPOLATION_BICUBIC
VALUE_INTERPOLATION_BILINEAR
VALUE_INTERPOLATION_NEAREST_NEIGHBOR
渲染 KEY_RENDERING VALUE_RENDER_QUALITY
VALUE_RENDER_SPEED
VALUE_RENDER_DEFAULT
笔画归一化控制 KEY_STROKE_CONTROL VALUE_STROKE_NORMALIZE
VALUE_STROKE_DEFAULT
VALUE_STROKE_PURE
文本反锯齿 KEY_TEXT_ANTIALIASING VALUE_TEXT_ANTIALIAS_ON
VALUE_TEXT_ANTIALIAS_OFF
VALUE_TEXT_ANTIALIAS_DEFAULT
VALUE_TEXT_ANTIALIAS_GASP
VALUE_TEXT_ANTIALIAS_LCD_HRGB
VALUE_TEXT_ANTIALIAS_LCD_HBGR
VALUE_TEXT_ANTIALIAS_LCD_VRGB
VALUE_TEXT_ANTIALIAS_LCD_VBGR
LCD 文本对比度 KEY_TEXT_LCD_CONTRAST 值应为范围在 100 到 250 之间的正整数。较低的值(如 100)表示在浅色背景上显示深色文本时,文本对比度较高。较高的值(如 200)表示在浅色背景上显示深色文本时,文本对比度较低。典型有用的值在 140-180 的范围内。如果未指定值,则会应用系统或实现的默认值。

当提示设置为默认值时,使用平台的默认渲染。


上一页: 图形合成
下一页: 从几何原始构建复杂形状