模块 java.desktop
 java.awt

类 RenderingHints

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

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

请注意,由于这些键和值是提示没有要求给定的实现支持下面指出的所有可能的选择,或者它可以响应修改其算法选择的请求。各种提示键的值也可以交互,这样虽然在一种情况下支持给定键的所有变体,但当与其他键关联的值被修改时,实现可能会受到更多限制。例如,某些实现可能能够在关闭抗锯齿提示时提供多种类型的抖动,但在开启抗锯齿时几乎无法控制抖动。全套支持的键和提示也可能因目的地而异,因为运行时可能使用不同的底层模块来呈现到屏幕、BufferedImage 对象或打印时。

实现可以完全忽略提示,但应尝试使用尽可能接近请求的实现算法。如果一个实现在任何值用于关联的提示键时支持给定的算法,那么当该键的值是指定算法的确切值时,它必须至少这样做。

用于控制提示的键都是特殊值,它们是关联的 RenderingHints.Key 类的子类。许多常见的提示在下面表示为此类中的静态常量,但该列表并不意味着详尽无遗。其他包可以通过定义新对象来创建其他提示,这些新对象是 Key 类的子类并定义关联值。

  • 字段详细信息

    • 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
      文本抗锯齿提示值 - 请求文本呈现以使用字体资源中的信息,该信息为每个磅值指定是应用 VALUE_TEXT_ANTIALIAS_ON 还是 VALUE_TEXT_ANTIALIAS_OFF

      TrueType 字体通常在“gasp”表中提供此信息。在没有此信息的情况下,特定字体和大小的行为由实现默认值确定。

      笔记:字体设计师通常会仔细暗示最常见的用户界面磅值的字体。因此,'gasp' 表可能会指定仅使用暗示这些大小而不是“平滑”。所以在很多情况下,结果文本显示等同于 VALUE_TEXT_ANTIALIAS_OFF 。这可能出乎意料,但却是正确的。

      由多种物理字体组成的逻辑字体为了保持一致性将使用最适合整体复合字体的设置。

      自从:
      1.6
      参见:
    • VALUE_TEXT_ANTIALIAS_LCD_HRGB

      public static final Object  VALUE_TEXT_ANTIALIAS_LCD_HRGB
      Text antialiasing hint value -- 要求文本显示为 LCD 显示器优化显示,子像素按 R、G、B 的显示从左到右的顺序排列,这样水平子像素分辨率是全像素水平分辨率 (HRGB) 的三倍.这是最常见的配置。为具有其他 LCD 子像素配置之一的显示器选择此提示可能会导致文本不聚焦。

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

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

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

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

      自从:
      1.6
      参见:
    • VALUE_TEXT_ANTIALIAS_LCD_HBGR

      public static final Object  VALUE_TEXT_ANTIALIAS_LCD_HBGR
      Text antialiasing hint value -- 请求为 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 对象,当与 VALUE_TEXT_ANTIALIAS_LCD_HRGB 等 LCD 文本抗锯齿提示结合使用时,该对象用作文本对比度调整。
      • 值应该是 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
      Interpolation hint value——使用图像中最近邻整数坐标样本的颜色样本。从概念上讲,图像被视为以每个图像像素的中心为中心的单位大小的正方形颜色区域网格。

      当图像按比例放大时,它看起来会相应地呈块状。当图像按比例缩小时,源像素的颜色将不加修改地使用,或者在输出表示中完全跳过。

      参见:
    • VALUE_INTERPOLATION_BILINEAR

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

      当图像按比例放大时,图像中的颜色之间没有像 NEAREST_NEIGHBOR 那样的块状边缘,但是混合可能会沿水平和垂直边缘显示一些细微的不连续性,这些不连续性与由于突然变化引起的样本对齐从样本的一侧到另一侧的插值斜率。随着图像按比例缩小,更多图像像素的颜色样本在结果输出中表示,因为每个输出像素接收来自多达 4 个图像像素的颜色信息。

      参见:
    • VALUE_INTERPOLATION_BICUBIC

      public static final Object  VALUE_INTERPOLATION_BICUBIC
      插值提示值——图像中 9 个附近整数坐标样本的颜色样本在 XY 中使用三次函数进行插值以生成颜色样本。从概念上讲,图像的视图与 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 提示控制渲染实现是否应该或允许出于各种目的修改渲染形状的几何形状。

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

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

      此提示的允许值是

      自从:
      1.3
    • VALUE_STROKE_DEFAULT

      public static final Object  VALUE_STROKE_DEFAULT
      笔划归一化控制提示值——根据给定实现中的权衡,可以修改或保留几何图形。通常,此设置允许实现使用基于快速整数坐标的平台渲染库,但不特别要求标准化以实现统一性或美观性。
      自从:
      1.3
      参见:
    • VALUE_STROKE_NORMALIZE

      public static final Object  VALUE_STROKE_NORMALIZE
      笔划归一化控制提示值——应归一化几何图形以提高线条的均匀性或间距以及整体美感。请注意,对于给定的输入路径,不同的归一化算法可能比其他算法更成功。
      自从:
      1.3
      参见:
    • VALUE_STROKE_PURE

      public static final Object  VALUE_STROKE_PURE
      笔划归一化控制提示值——几何图形应保持不变并以亚像素精度呈现。
      自从:
      1.3
      参见:
    • KEY_RESOLUTION_VARIANT

      public static final RenderingHints.Key  KEY_RESOLUTION_VARIANT
      图像分辨率变量提示键。 RESOLUTION_VARIANT 提示控制应为图像绘制选择哪种图像分辨率变体。
      自从:
      9
    • VALUE_RESOLUTION_VARIANT_DEFAULT

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

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

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

      public static final Object  VALUE_RESOLUTION_VARIANT_DPI_FIT
      图像分辨率变体提示值——仅根据屏幕的 DPI 选择图像分辨率变体。
      自从:
      9
      参见:
  • 构造方法详细信息

    • RenderingHints

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

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

    • size

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

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

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

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

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

      public Object  put(Object  key, Object  value)
      将指定的 key 映射到此 RenderingHints 对象中指定的 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.EntrySetRenderingHints 支持,因此对 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()
       (t1.get(k)==null ? t2.get(k)==null : t1.get(k).equals(t2.get(k)))
       
      中的每个键 k 。这可确保 equals 方法在 Map 接口的不同实现中正常工作。
      指定者:
      equals 在接口 Map<Object,Object>
      重写:
      equals 在类 Object
      参数:
      o - Object 与此 RenderingHints 进行比较。
      返回:
      true 如果指定的 Object 等于此 RenderingHints
      参见:
    • hashCode

      public int hashCode()
      返回此 RenderingHints 的哈希码值。 RenderingHints 的哈希码被定义为 RenderingHints 对象的 entrySet 视图中每个 Entry 的哈希码的总和。这确保 t1.equals(t2) 暗示 t1.hashCode()==t2.hashCode() 对于任何两个 Map 对象 t1t2 ,正如 Object.hashCode 的总合同所要求的那样。
      指定者:
      hashCode 在接口 Map<Object,Object>
      重写:
      hashCode 在类 Object
      返回:
      RenderingHints 的哈希码值。
      参见:
    • clone

      public Object  clone()
      创建此 RenderingHints 对象的克隆,其内容与此 RenderingHints 对象相同。
      重写:
      clone 在类 Object
      返回:
      此实例的克隆。
      参见:
    • toString

      public String  toString()
      返回hash map的相当长的字符串表示形式,其中包含此 RenderingHints 对象的键到值的映射。
      重写:
      toString 在类 Object
      返回:
      此对象的字符串表示形式。