控制渲染质量

使用Graphics2D类渲染提示属性可以指定是否要尽快渲染对象,还是希望渲染质量尽可能高。

要在Graphics2D上下文中设置或更改呈现提示属性,请构造一个RenderingHints对象,然后使用setRenderingHints方法将其传递到Graphics2D中。如果只想设置一个提示,则可以调用Graphics2D setRenderingHint并为要设置的提示指定键值对。 (键值对在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);
...
}

Note:

并非所有平台都支持对渲染 Pattern 的修改,因此指定渲染提示并不能保证将使用它们。

RenderingHints支持以下类型的提示:

HintKeyValues
AntialiasingKEY_ANTIALIASINGVALUE_ANTIALIAS_ON

VALUE_ANTIALIAS_OFF
VALUE_ANTIALIAS_DEFAULT
Alpha 插值KEY_ALPHA_INTERPOLATIONVALUE_ALPHA_INTERPOLATION_QUALITY
VALUE_ALPHA_INTERPOLATION_SPEED
VALUE_ALPHA_INTERPOLATION_DEFAULT
彩色渲染KEY_COLOR_RENDERINGVALUE_COLOR_RENDER_QUALITY
VALUE_COLOR_RENDER_SPEED
VALUE_COLOR_RENDER_DEFAULT
抖动KEY_DITHERINGVALUE_DITHER_DISABLE
VALUE_DITHER_ENABLE
VALUE_DITHER_DEFAULT
部分 LiteralsMetricsKEY_FRACTIONALMETRICSVALUE_FRACTIONALMETRICS_ON
VALUE_FRACTIONALMETRICS_OFF
VALUE_FRACTIONALMETRICS_DEFAULT
图像插值KEY_INTERPOLATIONVALUE_INTERPOLATION_BICUBIC
VALUE_INTERPOLATION_BILINEAR
VALUE_INTERPOLATION_NEAREST_NEIGHBOR
渲染KEY_RENDERINGVALUE_RENDER_QUALITY
VALUE_RENDER_SPEED
VALUE_RENDER_DEFAULT
行程标准化控制KEY_STROKE_CONTROLVALUE_STROKE_NORMALIZE
VALUE_STROKE_DEFAULT
VALUE_STROKE_PURE
Literals 抗锯齿KEY_TEXT_ANTIALIASINGVALUE_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
LCDLiterals 对比KEY_TEXT_LCD_CONTRAST值应为 100 到 250 之间的正整数。当在浅色背景上显示深色文本时,较低的值(例如 100)对应于较高的对比度文本。当在浅色背景上显示深色文本时,较高的值(例如 200)对应于较低对比度的文本。典型的有用值是在 140-180 的窄范围内。如果未指定任何值,则将应用系统或实现的默认值。

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