Module java.desktop
Package java.awt

Class RenderingHints

java.lang.Object
java.awt.RenderingHints
所有已实现的接口:
Cloneable, Map<Object,Object>

public class RenderingHints extends Object implements Map<Object,Object>, Cloneable
RenderingHints类定义和管理键和相关值的集合,允许应用程序提供输入以选择其他执行渲染和图像处理服务的类使用的算法。 Graphics2D类,以及实现BufferedImageOpRasterOp的类都提供方法来获取并可能设置单个或一组RenderingHints键及其相关值。 当这些实现执行任何渲染或图像处理操作时,它们应该检查调用者请求的任何RenderingHints的值,并相应地调整所使用的算法,尽力而为。

请注意,由于这些键和值是“提示”,并没有要求给定的实现支持下面指示的所有可能选择,或者它可以响应修改其算法选择的请求。 各种提示键的值也可能相互作用,因此,虽然在一种情况下支持给定键的所有变体,但在修改与其他键关联的值时,实现可能更受限制。 例如,一些实现在抗锯齿提示关闭时可能能够提供几种类型的抖动,但在抗锯齿打开时对抖动的控制可能较少。 支持的键和提示的完整集合也可能因目标而异,因为运行时可能使用不同的底层模块来渲染到屏幕,或者到BufferedImage对象,或者在打印时。

实现可以完全忽略这些提示,但应尽量使用与请求尽可能接近的实现算法。 如果一个实现支持给定算法,当使用与关联提示键的值的任何值时,最低限度上它必须在该键的值为指定算法的确切值时这样做。

用于控制提示的键都是特殊值,它们是与关联的RenderingHints.Key类的子类。 许多常见提示在这个类中表示为静态常量,但这个列表并不是详尽无遗的。 其他提示可能由其他包创建,方法是定义新对象,这些对象是Key类的子类,并定义相关值。

  • Field Details

    • KEY_ANTIALIASING

      public static final RenderingHints.Key KEY_ANTIALIASING
      抗锯齿提示键。 ANTIALIASING提示控制Graphics2D对象的几何渲染方法是否尝试减少形状边缘的混叠伪影。

      典型的抗锯齿算法通过将形状边界像素的现有颜色与请求的填充颜料按照形状的估计部分像素覆盖来混合。

      此提示的可接受值为

    • VALUE_ANTIALIAS_ON

      public static final Object VALUE_ANTIALIAS_ON
      抗锯齿提示值--使用抗锯齿进行渲染。
      参见:
    • VALUE_ANTIALIAS_OFF

      public static final Object VALUE_ANTIALIAS_OFF
      抗锯齿提示值--不使用抗锯齿进行渲染。
      参见:
    • VALUE_ANTIALIAS_DEFAULT

      public static final Object VALUE_ANTIALIAS_DEFAULT
      抗锯齿提示值--使用实现选择的默认抗锯齿模式进行渲染。
      参见:
    • KEY_RENDERING

      public static final RenderingHints.Key KEY_RENDERING
      渲染提示键。 RENDERING提示是一个通用提示,提供了在评估权衡时更倾向于速度还是质量的算法选择的高级建议。此提示可以用于任何渲染或图像操作,但通常决策会优先考虑其他更具体的提示而不是此提示。

      此提示的可接受值为

    • VALUE_RENDER_SPEED

      public static final Object VALUE_RENDER_SPEED
      渲染提示值--选择渲染算法时更偏向于输出速度。
      参见:
    • VALUE_RENDER_QUALITY

      public static final Object VALUE_RENDER_QUALITY
      渲染提示值--选择渲染算法时更偏向于输出质量。
      参见:
    • VALUE_RENDER_DEFAULT

      public static final Object VALUE_RENDER_DEFAULT
      渲染提示值--选择渲染算法时实现会在性能与质量之间取得良好的平衡。
      参见:
    • KEY_DITHERING

      public static final RenderingHints.Key KEY_DITHERING
      抖动提示键。 DITHERING提示控制在将颜色存储到具有有限颜色分辨率的目标时如何近似颜色。

      某些渲染目标可能支持有限数量的颜色选择,这些颜色可能无法准确表示渲染操作期间可能产生的全部颜色谱。对于这样的目标,DITHERING提示控制是使用单个像素值的平坦实心填充来渲染,该值是最接近请求的颜色,还是使用颜色图案填充形状以更好地近似该颜色。

      此提示的可接受值为

    • VALUE_DITHER_DISABLE

      public static final Object VALUE_DITHER_DISABLE
      抖动提示值--在渲染几何图形时不使用抖动。
      参见:
    • VALUE_DITHER_ENABLE

      public static final Object VALUE_DITHER_ENABLE
      抖动提示值--在渲染几何图形时如有需要使用抖动。
      参见:
    • VALUE_DITHER_DEFAULT

      public static final Object VALUE_DITHER_DEFAULT
      抖动提示值--使用实现选择的默认抖动。
      参见:
    • KEY_TEXT_ANTIALIASING

      public static final RenderingHints.Key KEY_TEXT_ANTIALIASING
      文本抗锯齿提示键。 TEXT_ANTIALIASING提示可以独立于用于形状渲染的选择控制文本的抗锯齿算法的使用。通常,应用程序可能只想对文本使用抗锯齿,而不对其他形状使用。此外,用于减少文本混叠伪影的算法通常比为一般渲染开发的算法更复杂,因此此提示键提供了额外的值,可以控制其中一些特定于文本的算法的选择。如果保持在DEFAULT状态,则此提示通常会遵循常规KEY_ANTIALIASING提示键的值。

      此提示的可接受值为

    • VALUE_TEXT_ANTIALIAS_ON

      public static final Object VALUE_TEXT_ANTIALIAS_ON
      文本抗锯齿提示值--文本渲染使用某种形式的抗锯齿。
      参见:
    • VALUE_TEXT_ANTIALIAS_OFF

      public static final Object VALUE_TEXT_ANTIALIAS_OFF
      文本抗锯齿提示值--文本渲染不使用任何形式的抗锯齿。
      参见:
    • VALUE_TEXT_ANTIALIAS_DEFAULT

      public static final Object VALUE_TEXT_ANTIALIAS_DEFAULT
      文本抗锯齿提示值--文本渲染根据KEY_ANTIALIASING提示或实现选择的默认进行。
      参见:
    • VALUE_TEXT_ANTIALIAS_GASP

      public static final Object VALUE_TEXT_ANTIALIAS_GASP
      文本抗锯齿提示值--请求文本显示为针对LCD显示进行优化,其次像素从左到右显示为R、G、B,使水平次像素分辨率是完整像素水平分辨率的三倍(HRGB)。这是最常见的配置。在具有其他LCD次像素配置之一的显示器上选择此提示可能导致文本模糊。

      注意:
      实现在选择是否应用任何LCD文本提示值时可能会考虑因素,包括要求目标的颜色深度至少为每像素15位(即每色量5位),字体的特性,例如嵌入的位图是否会产生更好的结果,或者在显示到非本地网络显示设备时仅在可用的协议时启用它,或者在执行非常高分辨率渲染或目标设备不适当时忽略提示:例如打印时。

      这些提示在渲染到软件图像时同样适用,但这些图像可能不适合一般导出,因为文本将根据特定次像素组织进行渲染。此外,有损图像不是一个好选择,也不是像GIF这样具有有限颜色的图像格式。因此,除非图像仅用于在具有相同配置的显示设备上呈现,否则其他文本抗锯齿提示,如VALUE_TEXT_ANTIALIAS_ON可能是更好的选择。

      选择与正在使用的LCD显示不匹配的值可能会导致文本质量下降。在不具有与LCD显示相同特性的显示设备(即CRT)上,整体效果可能类似于标准文本抗锯齿,但质量可能会因颜色失真而降低。模拟连接的LCD显示器也可能与标准文本抗锯齿类似,并类似于CRT。

      换句话说,为获得最佳结果,请使用具有数字显示连接器的LCD显示器,并指定适当的次像素配置。

      Since:
      1.6
      See Also:
    • VALUE_TEXT_ANTIALIAS_LCD_HRGB

      public static final Object VALUE_TEXT_ANTIALIAS_LCD_HRGB
      Text antialiasing hint value -- request that text be displayed optimised for an LCD display with subpixels in order from display left to right of R,G,B such that the horizontal subpixel resolution is three times that of the full pixel horizontal resolution (HRGB). This is the most common configuration. Selecting this hint for displays with one of the other LCD subpixel configurations will likely result in unfocused text.

      Notes:
      An implementation when choosing whether to apply any of the LCD text hint values may take into account factors including requiring color depth of the destination to be at least 15 bits per pixel (ie 5 bits per color component), characteristics of a font such as whether embedded bitmaps may produce better results, or when displaying to a non-local networked display device enabling it only if suitable protocols are available, or ignoring the hint if performing very high resolution rendering or the target device is not appropriate: eg when printing.

      These hints can equally be applied when rendering to software images, but these images may not then be suitable for general export, as the text will have been rendered appropriately for a specific subpixel organisation. Also lossy images are not a good choice, nor image formats such as GIF which have limited colors. So unless the image is destined solely for rendering on a display device with the same configuration, some other text anti-aliasing hint such as VALUE_TEXT_ANTIALIAS_ON may be a better choice.

      Selecting a value which does not match the LCD display in use will likely lead to a degradation in text quality. On display devices (ie CRTs) which do not have the same characteristics as LCD displays, the overall effect may appear similar to standard text anti-aliasing, but the quality may be degraded by color distortion. Analog connected LCD displays may also show little advantage over standard text-antialiasing and be similar to CRTs.

      In other words for the best results use an LCD display with a digital display connector and specify the appropriate sub-pixel configuration.

      自从:
      1.6
      参见:
    • VALUE_TEXT_ANTIALIAS_LCD_HBGR

      public static final Object VALUE_TEXT_ANTIALIAS_LCD_HBGR
      文本抗锯齿提示值 - 请求以LCD显示器为优化,子像素从左到右显示为B、G、R的顺序,水平子像素分辨率是全像素水平分辨率的三倍(HBGR)。这种配置比HRGB要少见得多。选择此提示用于具有其他LCD子像素配置之一的显示器可能导致文本模糊。有关此提示应用的更多信息,请参见VALUE_TEXT_ANTIALIAS_LCD_HRGB
      自从:
      1.6
      参见:
    • VALUE_TEXT_ANTIALIAS_LCD_VRGB

      public static final Object VALUE_TEXT_ANTIALIAS_LCD_VRGB
      文本抗锯齿提示值 - 请求以LCD显示器为优化,子像素从上到下显示为R、G、B的顺序,垂直子像素分辨率是全像素垂直分辨率的三倍(VRGB)。垂直方向非常罕见,可能主要用于物理旋转的显示器。选择此提示用于具有其他LCD子像素配置之一的显示器可能导致文本模糊。有关此提示应用的更多信息,请参见VALUE_TEXT_ANTIALIAS_LCD_HRGB
      自从:
      1.6
      参见:
    • VALUE_TEXT_ANTIALIAS_LCD_VBGR

      public static final Object VALUE_TEXT_ANTIALIAS_LCD_VBGR
      文本抗锯齿提示值 - 请求以LCD显示器为优化,子像素从上到下显示为B、G、R的顺序,垂直子像素分辨率是全像素垂直分辨率的三倍(VBGR)。垂直方向非常罕见,可能主要用于物理旋转的显示器。选择此提示用于具有其他LCD子像素配置之一的显示器可能导致文本模糊。有关此提示应用的更多信息,请参见VALUE_TEXT_ANTIALIAS_LCD_HRGB
      自从:
      1.6
      参见:
    • KEY_TEXT_LCD_CONTRAST

      public static final RenderingHints.Key KEY_TEXT_LCD_CONTRAST
      LCD文本对比度渲染提示键。该值是一个Integer对象,用作与LCD文本抗锯齿提示(如VALUE_TEXT_ANTIALIAS_LCD_HRGB)一起使用时的文本对比度调整。
      • 值应为100到250范围内的正整数。
      • 较低的值(例如100)对应于在浅色背景上显示深色文本时更高的对比度文本。
      • 较高的值(例如200)对应于在浅色背景上显示深色文本时更低的对比度文本。
      • 典型有用值在140-180的狭窄范围内。
      • 如果未指定值,则将应用系统或实现默认值。
      默认值可望对大多数目的足够,因此客户端很少需要为此提示指定值,除非他们具体了解适当值。较高的值并不意味着更高的对比度,事实上相反。该校正类似于非线性感知亮度响应的显示系统的伽马调整,但并不表示对此进行完全校正。
      自从:
      1.6
      参见:
    • KEY_FRACTIONALMETRICS

      public static final RenderingHints.Key KEY_FRACTIONALMETRICS
      字体分数度量提示键。 FRACTIONALMETRICS提示控制是否考虑字体的缩放字符前进的子像素精度,或者这样的前进矢量是否舍入为整数个整设备像素。此提示仅建议应使用多少精度来定位字形,并不指定或建议实际光栅化或像素边界是否应修改以匹配。

      将文本呈现到像屏幕这样的低分辨率设备必然涉及一系列舍入操作,因为字符字形的高质量和非常精确的形状和度量必须与离散设备像素匹配。理想情况下,文本布局期间字形的定位将根据字体的设计度量按照点大小进行缩放计算,但是然后缩放的前进宽度不一定是整数像素的数量。如果根据这些缩放的设计度量以子像素精度定位字形,则理想情况下,光栅化将需要为每个可能的子像素原点进行调整。

      不幸的是,对每个字形进行根据其确切子像素原点进行缩放的文本布局计算将成本过高,因此通常使用基于整数设备位置的简化系统来布局文本。字形的光栅化和缩放的前进宽度都一起调整,以产生在设备分辨率下看起来良好且具有一致整数像素距离的字形,有助于字形看起来间距均匀一致且易读。

      将光栅化的字形的前进宽度舍入为整数距离的过程意味着文本字符串的字符密度和总长度将与理论设计测量值不同,这是由于一系列小差异在每个字形的调整宽度中积累而导致的。具体差异将因字体、特定目标设备分辨率和选择用于表示正在呈现的字符串的字形而异。因此,在多个设备分辨率下呈现相同字符串可能会产生整个字符串的广泛变化的度量。

      启用FRACTIONALMETRICS时,真实的字体设计度量将按点大小进行缩放,并用于具有子像素精度的布局。因此,字符的平均密度和长字符串的总长度将更接近字体的理论设计,但可读性可能会受到影响,因为根据字形原点的子像素积累如何与设备像素网格相匹配,个别字符对之间的距离可能不总是一致。在进行必须在各种输出分辨率上保持一致的文本布局时,启用此提示可能是可取的。具体而言,在低分辨率设备(如屏幕)上预览将最终在高分辨率打印机或排版设备上呈现的输出时,可能需要此提示。

      当禁用时,缩放的设计度量将被舍入或调整为整数距离进行布局。在设备上任何特定字符对之间的距离将更加统一,但长字符串的密度和总长度可能不再与字体设计者的理论意图相匹配。在低分辨率设备(如计算机显示器)上,禁用此提示通常会产生更可读的结果。

      此键的允许值为

    • VALUE_FRACTIONALMETRICS_OFF

      public static final Object VALUE_FRACTIONALMETRICS_OFF
      字体分数度量提示值 - 字符字形的前进宽度被舍入到像素边界。
      参见:
    • VALUE_FRACTIONALMETRICS_ON

      public static final Object VALUE_FRACTIONALMETRICS_ON
      字体分数度量提示值 - 字符字形以子像素精度定位。
      参见:
    • VALUE_FRACTIONALMETRICS_DEFAULT

      public static final Object VALUE_FRACTIONALMETRICS_DEFAULT
      字体分数度量提示值 - 字符字形的定位由实现选择的精度。
      参见:
    • KEY_INTERPOLATION

      public static final RenderingHints.Key KEY_INTERPOLATION
      插值提示键。 INTERPOLATION提示控制图像像素在图像渲染操作期间如何进行滤波或重采样。

      隐式地,图像被定义为在整数坐标位置提供颜色样本。当图像直立无缩放地呈现到目标时,哪些图像像素映射到哪些设备像素是显而易见的,并且图像中整数坐标位置的样本被传输到设备像素网格上相应整数位置的像素一对一。当图像在缩放、旋转或其他变换坐标系中呈现时,设备像素坐标映射回图像可能会引发一个问题,即对于落在所提供图像样本整数位置之间的连续坐标,应使用哪个颜色样本。插值算法定义了函数,根据周围整数坐标处的颜色样本为图像中的任何连续坐标提供颜色样本。

      此提示的允许值为

    • VALUE_INTERPOLATION_NEAREST_NEIGHBOR

      public static final Object VALUE_INTERPOLATION_NEAREST_NEIGHBOR
      插值提示值 - 使用图像中最近邻整数坐标样本的颜色样本。在概念上,图像被视为围绕每个图像像素中心的单位大小的彩色区域网格。

      随着图像的放大,它看起来会相应地变得块状。随着图像的缩小,源像素的颜色将被保持不变,或者在输出表示中完全跳过。

      参见:
    • VALUE_INTERPOLATION_BILINEAR

      public static final Object VALUE_INTERPOLATION_BILINEAR
      插值提示值 -- 图像中最接近的4个整数坐标样本的颜色样本被线性插值,以产生一个颜色样本。在概念上,图像被视为一组无限小的点颜色样本,这些样本仅在整数坐标像素的中心具有值,并且在这些像素中心之间的空间被填充了连接相邻离散样本的颜色的线性渐变。

      随着图像的放大,与 NEAREST_NEIGHBOR 相比,图像中的颜色之间没有块状边缘,但混合可能在与由一个样本的一侧到另一侧的插值斜率的突然变化导致的水平和垂直边缘上显示一些微妙的不连续性。随着图像的缩小,更多的图像像素的颜色样本将在生成的输出中表示,因为每个输出像素从最多4个图像像素接收颜色信息。

      参见:
    • VALUE_INTERPOLATION_BICUBIC

      public static final Object VALUE_INTERPOLATION_BICUBIC
      插值提示值 -- 图像中9个附近的整数坐标样本的颜色样本使用 X 和 Y 的立方函数进行插值,以产生一个颜色样本。在概念上,图像的视图与 BILINEAR 算法中使用的视图非常相似,只是连接样本之间的颜色渐变是曲线的,并且在跨越样本边界时具有更好的斜率连续性。

      随着图像的放大,没有块状边缘,插值应该看起来更加平滑,并且比 BILINEAR 更好地描绘原始图像中的任何边缘。随着图像的缩小,更多来自原始图像的原始颜色样本将通过并表示其颜色信息。

      参见:
    • KEY_ALPHA_INTERPOLATION

      public static final RenderingHints.Key KEY_ALPHA_INTERPOLATION
      Alpha 插值提示键。 ALPHA_INTERPOLATION 提示是一个一般提示,提供了一个高级建议,即在评估权衡时更倾向于速度还是质量的 alpha 混合算法选择。

      此提示可以控制 alpha 混合计算的选择,牺牲一些精度以使用快速查找表或较低精度的 SIMD 指令。此提示还可以控制颜色和 alpha 值在计算过程中是否转换为线性颜色空间,以获得更线性的视觉效果,但需要额外的每像素计算。

      此提示的可接受值为

    • VALUE_ALPHA_INTERPOLATION_SPEED

      public static final Object VALUE_ALPHA_INTERPOLATION_SPEED
      Alpha 插值提示值 -- 选择 alpha 混合算法时更倾向于计算速度。
      参见:
    • VALUE_ALPHA_INTERPOLATION_QUALITY

      public static final Object VALUE_ALPHA_INTERPOLATION_QUALITY
      Alpha 插值提示值 -- 选择 alpha 混合算法时更倾向于精度和视觉质量。
      参见:
    • VALUE_ALPHA_INTERPOLATION_DEFAULT

      public static final Object VALUE_ALPHA_INTERPOLATION_DEFAULT
      Alpha 插值提示值 -- 选择 alpha 混合算法时,实现会做出性能与质量之间的良好权衡。
      参见:
    • KEY_COLOR_RENDERING

      public static final RenderingHints.Key KEY_COLOR_RENDERING
      颜色渲染提示键。 COLOR_RENDERING 提示控制将颜色存储到目标图像或表面时的近似度和转换的准确性。

      当渲染或图像处理操作产生必须存储到目标中的颜色值时,必须首先将该颜色转换为适合存储到目标图像或表面的形式。最低限度,颜色分量必须转换为位表示并按正确顺序排序,或者必须选择颜色查找表中的索引,然后数据才能存储到目标内存中。如果没有进行这种最低限度的转换,目标中的数据可能代表随机的、不正确的或甚至不受支持的值。快速将渲染操作的结果转换为大多数常见目标的颜色格式的算法是众所周知的,并且执行起来相当优化。

      简单地执行最基本的颜色格式转换以将颜色存储到目标中,可能会忽略源和目标 ColorSpace 的校准差异或其他因素,如伽马校正的线性性。除非源和目标 ColorSpace 相同,为了正确执行渲染操作并对所表示的颜色的准确性采取最大关注,应将源颜色转换为设备独立的 ColorSpace,然后将结果转换回目标 ColorSpace。此外,如果在渲染操作期间执行多个源颜色的混合等计算,如果选择具有计算值和人眼对输出设备响应曲线的感知之间线性关系的中间设备独立 ColorSpace,则可以实现更大的视觉清晰度。

      此提示的可接受值为

    • VALUE_COLOR_RENDER_SPEED

      public static final Object VALUE_COLOR_RENDER_SPEED
      颜色渲染提示值 -- 执行最快速的颜色转换以适应输出设备的格式。
      参见:
    • VALUE_COLOR_RENDER_QUALITY

      public static final Object VALUE_COLOR_RENDER_QUALITY
      颜色渲染提示值 -- 执行具有最高准确性和视觉质量的颜色转换计算。
      参见:
    • VALUE_COLOR_RENDER_DEFAULT

      public static final Object VALUE_COLOR_RENDER_DEFAULT
      颜色渲染提示值 -- 执行由实现选择的颜色转换计算,以在性能和准确性之间实现最佳权衡。
      参见:
    • KEY_STROKE_CONTROL

      public static final RenderingHints.Key KEY_STROKE_CONTROL
      笔画规范控制提示键。 STROKE_CONTROL 提示控制渲染实现是否应该或允许修改渲染形状的几何形状,以用于各种目的。

      一些实现可能能够使用优化的平台渲染库,这可能比给定平台上的传统软件渲染算法更快,但也可能不支持浮点坐标。一些实现还可能具有复杂的算法,这些算法会扰动路径的坐标,使宽线条在宽度和间距上看起来更加均匀。

      如果实现对路径进行任何类型的修改或“规范化”,则不应将坐标移动超过半个像素的任何方向。

      此提示的可接受值为

      自 JDK 1.3 起
    • VALUE_STROKE_DEFAULT

      public static final Object VALUE_STROKE_DEFAULT
      笔画规范控制提示值 -- 几何形状可能会根据给定实现中的权衡进行修改或保持纯净。通常,此设置允许实现使用快速的基于整数坐标的平台渲染库,但不明确要求规范化以实现均匀性或美学。
      自 JDK 1.3 起
      参见:
    • VALUE_STROKE_NORMALIZE

      public static final Object VALUE_STROKE_NORMALIZE
      笔画规范控制提示值 -- 几何形状应该被规范化以改善线条的均匀性或间距以及整体美学。请注意,对于给定的输入路径,不同的规范化算法可能比其他算法更成功。
      自 JDK 1.3 起
      参见:
    • VALUE_STROKE_PURE

      public static final Object VALUE_STROKE_PURE
      笔画规范控制提示值 -- 几何形状应该保持不变,并以亚像素精度进行渲染。
      自 JDK 1.3 起
      参见:
    • KEY_RESOLUTION_VARIANT

      public static final RenderingHints.Key KEY_RESOLUTION_VARIANT
      图像分辨率变体提示键。 RESOLUTION_VARIANT 提示控制应选择哪种图像分辨率变体用于图像绘制。
      自 JDK 9 起
    • VALUE_RESOLUTION_VARIANT_DEFAULT

      public static final Object VALUE_RESOLUTION_VARIANT_DEFAULT
      图像分辨率变体提示值 -- 根据默认启发式选择图像分辨率变体,这可能取决于平台的策略。
      自 JDK 9 起
      参见:
    • VALUE_RESOLUTION_VARIANT_BASE

      public static final Object VALUE_RESOLUTION_VARIANT_BASE
      图像分辨率变体提示值 -- 始终使用图像的标准分辨率。
      自 JDK 9 起
      参见:
    • VALUE_RESOLUTION_VARIANT_SIZE_FIT

      public static final Object VALUE_RESOLUTION_VARIANT_SIZE_FIT
      图像分辨率变体提示值 - 根据屏幕的DPI和Graphics2D上下文中的变换选择图像分辨率变体。
      自 JDK 9 起:
      9
      参见:
    • VALUE_RESOLUTION_VARIANT_DPI_FIT

      public static final Object VALUE_RESOLUTION_VARIANT_DPI_FIT
      图像分辨率变体提示值 - 仅根据屏幕的DPI选择图像分辨率变体。
      自 JDK 9 起:
      9
      参见:
  • Constructor Details

    • RenderingHints

      public RenderingHints(Map<RenderingHints.Key,?> init)
      从指定的可能为null的Map对象初始化键和值构造一个新对象。
      参数:
      init - 一个键/值对的映射,用于初始化提示,如果对象应为空,则为null
    • RenderingHints

      public RenderingHints(RenderingHints.Key key, Object value)
      用指定的键/值对构造一个新对象。
      参数:
      key - 特定提示属性的键
      value - 使用key指定的提示属性的值
  • Method Details

    • size

      public int size()
      返回此RenderingHints中键-值映射的数量。
      指定者:
      size 接口中的方法 Map<Object,Object>
      返回:
      RenderingHints中键-值映射的数量。
    • isEmpty

      public boolean isEmpty()
      如果此RenderingHints不包含键-值映射,则返回true
      指定者:
      isEmpty 接口中的方法 Map<Object,Object>
      返回:
      如果此RenderingHints不包含键-值映射,则返回true
    • containsKey

      public boolean containsKey(Object key)
      如果此RenderingHints包含指定键的映射,则返回true
      指定者:
      containsKey 接口中的方法 Map<Object,Object>
      参数:
      key - 要测试其在此RenderingHints中是否存在的键
      返回:
      如果此RenderingHints包含指定键的映射,则返回true
      抛出:
      ClassCastException - 如果无法将键转换为RenderingHints.Key
    • containsValue

      public boolean containsValue(Object value)
      如果此RenderingHints将一个或多个键映射到指定值,则返回true。更正式地说,如果此RenderingHints包含至少一个映射到值v的键,使得
       (value==null ? v==null : value.equals(v))
       
      ,则返回true。对于大多数RenderingHints的实现,此操作可能需要线性时间。
      指定者:
      containsValue 接口中的方法 Map<Object,Object>
      参数:
      value - 要测试其在此RenderingHints中是否存在的值
      返回:
      如果此RenderingHints将一个或多个键映射到指定值,则返回true
    • get

      public Object get(Object key)
      返回指定键映射到的值。
      指定者:
      get 接口中的方法 Map<Object,Object>
      参数:
      key - 一个渲染提示键
      返回:
      此对象中键映射到的值,如果键未映射到任何值,则返回null
      抛出:
      ClassCastException - 如果无法将键转换为RenderingHints.Key
      参见:
    • put

      public Object put(Object key, Object value)
      在此RenderingHints对象中将指定的key映射到指定的value。键和值都不能为null。可以通过使用等于原始键的键调用get方法来检索值。
      指定者:
      put 接口中的方法 Map<Object,Object>
      参数:
      key - 渲染提示键
      value - 渲染提示值
      返回:
      此对象中指定键的先前值,如果先前没有值,则返回null
      抛出:
      NullPointerException - 如果键为null
      ClassCastException - 如果无法将键转换为RenderingHints.Key
      IllegalArgumentException - 如果指定键的Key.isCompatibleValue()方法对指定值返回false
      参见:
    • add

      public void add(RenderingHints hints)
      将指定的RenderingHints对象中的所有键和相应的值添加到此RenderingHints对象。存在于此RenderingHints对象中但不存在于指定RenderingHints对象中的键不受影响。
      参数:
      hints - 要添加到此RenderingHints对象中的键/值对集合
    • clear

      public void clear()
      清除此RenderingHints对象的所有键/值对。
      指定者:
      clear 接口中的方法 Map<Object,Object>
    • remove

      public Object remove(Object key)
      从此RenderingHints对象中删除键及其对应的值。如果键不在此RenderingHints对象中,则此方法不执行任何操作。
      指定者:
      remove 接口中的方法 Map<Object,Object>
      参数:
      key - 需要移除的渲染提示键
      返回:
      RenderingHints对象中先前与该键关联的值,如果键没有映射,则返回null
      抛出:
      ClassCastException - 如果无法将键转换为RenderingHints.Key
    • putAll

      public void putAll(Map<?,?> m)
      将指定Map中的所有映射复制到此RenderingHints中。这些映射将替换此RenderingHints当前对于指定Map中当前所有键的任何映射。
      指定由:
      putAll 在接口 Map<Object,Object>
      参数:
      m - 指定的Map
      抛出:
      ClassCastException - 指定的Map中键或值的类别阻止其存储在此RenderingHints中。
      IllegalArgumentException - 指定的Map中键或值的某些方面阻止其存储在此RenderingHints中。
    • keySet

      public Set<Object> keySet()
      返回此RenderingHints中包含的键的Set视图。该Set由RenderingHints支持,因此对RenderingHints的更改会反映在Set中,反之亦然。如果在对Set进行迭代时修改了RenderingHints,则迭代的结果是未定义的。该Set支持元素删除,通过Iterator.removeSet.removeremoveAll retainAllclear操作从RenderingHints中删除相应的映射。它不支持addaddAll操作。
      指定由:
      keySet 在接口 Map<Object,Object>
      返回:
      包含在此RenderingHints中的键的Set视图。
    • values

      public Collection<Object> values()
      返回此RenderingHints中包含的值的Collection视图。该CollectionRenderingHints支持,因此对RenderingHints的更改会反映在Collection中,反之亦然。如果在对Collection进行迭代时修改了RenderingHints,则迭代的结果是未定义的。该Collection支持元素删除,通过Iterator.removeCollection.removeremoveAllretainAllclear操作从RenderingHints中删除相应的映射。它不支持addaddAll操作。
      指定由:
      values 在接口 Map<Object,Object>
      返回:
      包含在此RenderingHints中的值的Collection视图。
    • entrySet

      public Set<Map.Entry<Object,Object>> entrySet()
      返回此RenderingHints中包含的映射的Set视图。返回的Set中的每个元素都是一个Map.Entry。该SetRenderingHints支持,因此对RenderingHints的更改会反映在Set中。如果在对Set进行迭代时修改了RenderingHints,则迭代的结果是未定义的。

      RenderingHints对象返回的entrySet不可修改。

      指定由:
      entrySet 在接口 Map<Object,Object>
      返回:
      包含在此RenderingHints中的映射的Set视图。
    • equals

      public boolean equals(Object o)
      将指定的Object与此RenderingHints进行比较以确定是否相等。如果指定的对象也是一个Map并且两个Map对象表示相同的映射,则返回true。更正式地,两个Map对象t1t2表示相同的映射,如果t1.keySet().equals(t2.keySet())并且对于t1.keySet()中的每个键k
       (t1.get(k)==null ? t2.get(k)==null : t1.get(k).equals(t2.get(k)))
       
      。这确保了equals方法在Map接口的不同实现之间正常工作。
      指定由:
      equals 在接口 Map<Object,Object>
      覆盖:
      equals 在类 Object
      参数:
      o - 用于与此RenderingHints比较是否相等的Object
      返回:
      如果指定的Object等于此RenderingHints,则返回true
      参见:
    • hashCode

      public int hashCode()
      返回此RenderingHints的哈希码值。一个RenderingHints的哈希码被定义为RenderingHints对象的entrySet视图中每个Entry的hashCode之和。这确保了对于任何两个Map对象t1t2,如果t1.equals(t2),则t1.hashCode()==t2.hashCode(),这是Object.hashCode的一般契约要求。
      指定由:
      hashCode 在接口 Map<Object,Object>
      覆盖:
      hashCode 在类 Object
      返回:
      RenderingHints的哈希码值。
      参见:
    • clone

      public Object clone()
      创建一个与此RenderingHints对象具有相同内容的克隆对象。
      覆盖:
      clone 在类 Object
      返回:
      此实例的克隆。
      参见:
    • toString

      public String toString()
      返回包含此RenderingHints对象的键到值的映射的哈希表的相当长的字符串表示形式。
      覆盖:
      toString 在类 Object
      返回:
      此对象的字符串表示形式。