Module  java.desktop
软件包  java.awt

Class RenderingHints

  • All Implemented Interfaces:
    CloneableMap<Object,Object>


    public class RenderingHints
    extends Object
    implements Map<Object,Object>, Cloneable
    RenderingHints类定义和管理密钥和关联值的集合,允许应用程序为执行渲染和图像处理服务的其他类使用的算法选择提供输入。 Graphics2D类和实现BufferedImageOpRasterOp的类都提供了获取和可能设置RenderingHints密钥及其关联值的个人或组的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
        抗混叠提示值 - 使用抗锯齿来实现渲染。
        另请参见:
        KEY_ANTIALIASING
      • VALUE_ANTIALIAS_OFF

        public static final Object VALUE_ANTIALIAS_OFF
        抗锯齿提示值 - 渲染完成时没有抗锯齿。
        另请参见:
        KEY_ANTIALIASING
      • VALUE_ANTIALIAS_DEFAULT

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

        public static final RenderingHints.Key KEY_RENDERING
        呈现提示键。 RENDERING提示是一个一般性的提示,提供了一个高级别的建议,以便在评估权衡时是否偏移算法选择更多的速度或质量。 对于任何渲染或图像处理操作,可以参考这个提示,但是决定通常会优先于其他更具体的提示。

        此提示的允许值为

      • VALUE_RENDER_SPEED

        public static final Object VALUE_RENDER_SPEED
        渲染提示值 - 选择渲染算法以优先输出速度。
        另请参见:
        KEY_RENDERING
      • VALUE_RENDER_QUALITY

        public static final Object VALUE_RENDER_QUALITY
        渲染提示值 - 选择渲染算法以优化输出质量。
        另请参见:
        KEY_RENDERING
      • VALUE_RENDER_DEFAULT

        public static final Object VALUE_RENDER_DEFAULT
        渲染提示值 - 渲染算法由实现选择,以实现性能与质量的良好折衷。
        另请参见:
        KEY_RENDERING
      • KEY_DITHERING

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

        一些渲染目的地可以支持有限数量的颜色选择,其可能无法准确地表示在渲染操作期间可能导致的全部颜色。 对于这样的目的地, DITHERING提示控制是否使用单个像素值的平坦实心填充完成渲染,该像素值是与请求的最接近的支持颜色,或者是否将填充颜色的图案,以便更好地近似颜色。

        此提示的允许值为

      • VALUE_DITHER_DISABLE

        public static final Object VALUE_DITHER_DISABLE
        抖动提示值 - 渲染几何时不要抖动。
        另请参见:
        KEY_DITHERING
      • VALUE_DITHER_ENABLE

        public static final Object VALUE_DITHER_ENABLE
        抖动提示值 - 如果需要,渲染几何时,抖动。
        另请参见:
        KEY_DITHERING
      • VALUE_DITHER_DEFAULT

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

        public static final Object VALUE_TEXT_ANTIALIAS_ON
        文本抗锯齿提示值 - 文本渲染是通过某种形式的抗锯齿来完成的。
        另请参见:
        KEY_TEXT_ANTIALIASING
      • VALUE_TEXT_ANTIALIAS_OFF

        public static final Object VALUE_TEXT_ANTIALIAS_OFF
        文本抗锯齿提示值 - 文本呈现没有任何形式的抗锯齿。
        另请参见:
        KEY_TEXT_ANTIALIASING
      • VALUE_TEXT_ANTIALIAS_DEFAULT

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

        public static final Object VALUE_TEXT_ANTIALIAS_GASP
        文本抗锯齿提示值 - 请求文本呈现以使用字体资源中的信息指定每个点大小是否应用VALUE_TEXT_ANTIALIAS_ONVALUE_TEXT_ANTIALIAS_OFF

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

        注意:字体设计师通常会仔细提示最常见的用户界面点大小的字体。 因此,“喘气”表可能会指定仅在这些尺寸上使用暗示,而不是“平滑”。 所以在很多情况下,结果文本显示等同于VALUE_TEXT_ANTIALIAS_OFF 这可能是意想不到的但是是正确的。

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

        从以下版本开始:
        1.6
        另请参见:
        KEY_TEXT_ANTIALIASING
      • VALUE_TEXT_ANTIALIAS_LCD_HRGB

        public static final Object VALUE_TEXT_ANTIALIAS_LCD_HRGB
        文本抗锯齿提示值 - 要求显示的文本被优化为具有子像素的LCD显示,按照R,G,B的显示从左到右的顺序显示,使得水平子像素分辨率是全像素水平分辨率(HRGB)的三倍, 。 这是最常见的配置。 选择其他LCD子像素配置之一的显示提示可能会导致未聚焦的文本。

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

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

        选择与使用中的LCD显示不符的值可能会导致文字质量下降。 在不具有与LCD显示器相同特性的显示设备(即CRT)上,整体效果可能与标准文本抗锯齿相似,但质量可能会因颜色失真而降低。 模拟连接的液晶显示器与标准文本抗锯齿相比也可能没有任何优势,与CRT类似。

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

        从以下版本开始:
        1.6
        另请参见:
        KEY_TEXT_ANTIALIASING
      • 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
        另请参见:
        KEY_TEXT_ANTIALIASING
      • VALUE_TEXT_ANTIALIAS_LCD_VRGB

        public static final Object VALUE_TEXT_ANTIALIAS_LCD_VRGB
        文本抗锯齿提示值 - 要求文本显示优化为具有子像素组织的液晶显示器,从R,G,B的显示顶部到底部,使得垂直子像素分辨率是全像素垂直分辨率(VRGB)的三倍。 垂直方向非常罕见,可能主要用于物理旋转的显示。 选择其他LCD子像素配置之一的显示提示可能会导致未聚焦的文本。 有关何时应用此提示的详细信息,请参阅VALUE_TEXT_ANTIALIAS_LCD_HRGB
        从以下版本开始:
        1.6
        另请参见:
        KEY_TEXT_ANTIALIASING
      • VALUE_TEXT_ANTIALIAS_LCD_VBGR

        public static final Object VALUE_TEXT_ANTIALIAS_LCD_VBGR
        文本抗锯齿提示值 - 要求显示的文本被优化为具有从B,G,R的显示器顶部到底部的子像素组织的LCD显示,使得垂直子像素分辨率是全像素垂直分辨率(VBGR)的三倍。 垂直方向非常罕见,可能主要用于物理旋转的显示。 选择其他LCD子像素配置之一的显示提示可能会导致未聚焦的文本。 有关何时应用此提示的详细信息,请参阅VALUE_TEXT_ANTIALIAS_LCD_HRGB
        从以下版本开始:
        1.6
        另请参见:
        KEY_TEXT_ANTIALIASING
      • 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_TEXT_ANTIALIASING
      • KEY_FRACTIONALMETRICS

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

        将文本呈现为低分辨率设备(如屏幕)将必然涉及多个舍入操作,因为字符字形的形状和度量的高质量和精确定义必须与分立的设备像素相匹配。 理想情况下,字体在文本布局中的定位将通过根据点大小缩放字体中的设计度量来计算,但是缩放的前进宽度不一定是整数像素。 如果根据这些缩放的设计度量字形以子像素精度定位,则理想地需要针对每个可能的子像素原点来调整光栅化。

        不幸的是,在文本布局期间缩放定制成其精确子像素原点的每个字形将是非常昂贵的,因此通常使用基于整数设备位置的简化系统来布局文本。 字形的光栅化和缩放的前进宽度都被一起调整,以产生看起来很好的设备分辨率的文本,并且在字形之间具有一致的整数像素距离,以帮助字形看起来均匀一致地间隔并且可读。

        将光栅化字形的前进宽度的舍入到整数的过程意味着文本串的字符密度和总长度将与理论设计测量值不同,这是由于每个调整的宽度的一系列小的差异的累积字形。 每个字形的具体差异将会有所不同,有些更为宽泛,有些比其理论设计尺寸更窄。 因此,字符密度和长度的总体差异将由许多因素而变化,这些因素包括字体,被指定的具体设备分辨率以及被选择以表示呈现的字符串的字形。 因此,在多个设备分辨率下渲染相同的字符串可能会产生整个字符串的广泛变化的度量。

        当启用FRACTIONALMETRICS ,真实字体设计度量按照点大小进行缩放,并用于具有子像素精度的布局。 因此,字符串的平均密度和长字符串的总长度将与字体的理论设计更紧密地匹配,但可读性可能会受到影响,因为单独的字符对可能并不总是看起来相距一致,取决于子字形源的像素累积与设备像素网格相啮合。 当执行在各种各样的输出分辨率之间必须一致的文本布局时,启用此提示可能是可取的。 具体来说,在文本的布局正在诸如最终将在高分辨率打印机或排版设备上呈现的用于输出的屏幕的低分辨率设备上预览的情况下,这种提示可能是期望的。

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

        该键的允许值为

      • VALUE_FRACTIONALMETRICS_OFF

        public static final Object VALUE_FRACTIONALMETRICS_OFF
        字体分数度量提示值 - 字符字形以先进宽度定位,四舍五入到像素边界。
        另请参见:
        KEY_FRACTIONALMETRICS
      • VALUE_FRACTIONALMETRICS_ON

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

        public static final Object VALUE_FRACTIONALMETRICS_DEFAULT
        字体分数度量提示值 - 字符字形按照实现选择的精度进行定位。
        另请参见:
        KEY_FRACTIONALMETRICS
      • KEY_INTERPOLATION

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

        定义隐式图像以在整数坐标位置提供颜色样本。 当图像呈现直立而没有缩放到目的地时,选择哪个图像像素映射到哪个设备像素是显而易见的,并且图像中整数坐标位置处的样本被传送到设备像素上相应整数位置处的像素网格一个一个。 当图像以缩放,旋转或以其他方式变换的坐标系显示时,设备像素坐标的映射返回到图像可以提出使用什么颜色样本的连续坐标位于提供的整数位置之间的问题图像样本。 插值算法定义了基于周围整数坐标处的颜色样本为图像中任何连续坐标提供颜色样本的函数。

        此提示的允许值为

      • VALUE_INTERPOLATION_NEAREST_NEIGHBOR

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

        随着图像的放大,它将看起来相当块。 当图像缩小时,源像素的颜色将被使用未修改,或者完全在输出表示中跳过。

        另请参见:
        KEY_INTERPOLATION
      • VALUE_INTERPOLATION_BILINEAR

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

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

        另请参见:
        KEY_INTERPOLATION
      • VALUE_INTERPOLATION_BICUBIC

        public static final Object VALUE_INTERPOLATION_BICUBIC
        插值提示值 - 使用XY的三次函数对图像中9个附近整数坐标样本的颜色样本进行插值,以生成颜色样本。 在概念上,图像的视图与BILINEAR算法中使用的视图非常相似,不同之处在于连接样本之间的颜色斜率是弯曲的,并且在样本边界之间越过斜率时具有更好的连续性。

        当图像放大时,没有块状边缘,并且内插应该显得比BILINEAR更平滑,并且更好地描绘了原始图像中的任何边缘。 随着图像的缩小,原始图像的原始颜色样本中的更多的颜色信息将通过并表示。

        另请参见:
        KEY_INTERPOLATION
      • 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混合算法,优先于计算速度。
        另请参见:
        KEY_ALPHA_INTERPOLATION
      • VALUE_ALPHA_INTERPOLATION_QUALITY

        public static final Object VALUE_ALPHA_INTERPOLATION_QUALITY
        选择Alpha插值提示值 - alpha混合算法,偏好精度和视觉质量。
        另请参见:
        KEY_ALPHA_INTERPOLATION
      • VALUE_ALPHA_INTERPOLATION_DEFAULT

        public static final Object VALUE_ALPHA_INTERPOLATION_DEFAULT
        Alpha插值提示值 - alpha混合算法由实现选择,以实现性能与质量的良好折衷。
        另请参见:
        KEY_ALPHA_INTERPOLATION
      • KEY_COLOR_RENDERING

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

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

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

        此提示的允许值为

      • VALUE_COLOR_RENDER_SPEED

        public static final Object VALUE_COLOR_RENDER_SPEED
        显色提示值 - 执行最快的颜色转换为输出设备的格式。
        另请参见:
        KEY_COLOR_RENDERING
      • VALUE_COLOR_RENDER_QUALITY

        public static final Object VALUE_COLOR_RENDER_QUALITY
        显色提示值 - 以最高的精度和视觉质量执行颜色转换计算。
        另请参见:
        KEY_COLOR_RENDERING
      • VALUE_COLOR_RENDER_DEFAULT

        public static final Object VALUE_COLOR_RENDER_DEFAULT
        显色渲染提示值 - 执行颜色转换计算,以表示性能和精度之间的最佳可用权衡。
        另请参见:
        KEY_COLOR_RENDERING
      • 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
        另请参见:
        KEY_STROKE_CONTROL
      • VALUE_STROKE_NORMALIZE

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

        public static final Object VALUE_STROKE_PURE
        笔画归一化控制提示值 - 几何应保持未修改,并以亚像素精度呈现。
        从以下版本开始:
        1.3
        另请参见:
        KEY_STROKE_CONTROL
      • VALUE_RESOLUTION_VARIANT_DEFAULT

        public static final Object VALUE_RESOLUTION_VARIANT_DEFAULT
        图像分辨率变体提示值 - 基于可能依赖于平台策略的默认启发式来选择图像分辨率变体
        从以下版本开始:
        9
        另请参见:
        KEY_RESOLUTION_VARIANT
      • VALUE_RESOLUTION_VARIANT_BASE

        public static final Object VALUE_RESOLUTION_VARIANT_BASE
        图像分辨率变体提示值 - 始终使用图像的标准分辨率。
        从以下版本开始:
        9
        另请参见:
        KEY_RESOLUTION_VARIANT
      • VALUE_RESOLUTION_VARIANT_SIZE_FIT

        public static final Object VALUE_RESOLUTION_VARIANT_SIZE_FIT
        图像分辨率变体提示值 - 基于屏幕的DPI和Graphics2D上下文中的变换来选择图像分辨率变体。
        从以下版本开始:
        9
        另请参见:
        KEY_RESOLUTION_VARIANT
      • VALUE_RESOLUTION_VARIANT_DPI_FIT

        public static final Object VALUE_RESOLUTION_VARIANT_DPI_FIT
        图像分辨率变体提示值 - 仅基于屏幕的DPI选择图像分辨率变体。
        从以下版本开始:
        9
        另请参见:
        KEY_RESOLUTION_VARIANT
    • 构造方法详细信息

      • 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键值映射的 RenderingHints
        Specified by:
        size在接口 Map<Object,Object>
        结果
        这个 RenderingHints的键值映射 RenderingHints
      • isEmpty

        public boolean isEmpty​()
        如果此 RenderingHints包含键值映射,则返回 true
        Specified by:
        isEmpty在接口 Map<Object,Object>
        结果
        true如果此 RenderingHints包含键值映射。
      • containsKey

        public boolean containsKey​(Object key)
        如果此 RenderingHints包含指定键的映射,则返回 true
        Specified by:
        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
        Specified by:
        containsValue在接口 Map<Object,Object>
        参数
        value - 要在此 RenderingHints存在的值要进行测试。
        结果
        true如果这个 RenderingHints将一个或多个键映射到指定的值。
      • get

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

        public Object put​(Object key,
                          Object value)
        将指定的key映射到此RenderingHints对象中指定的value 钥匙和价值都不能是null 可以通过使用等于原始密钥的密钥调用get方法来检索该值。
        Specified by:
        put在接口 Map<Object,Object>
        参数
        key - 渲染提示键。
        value - 渲染提示值。
        结果
        该对象中指定键的上一个值,如果没有, null
        异常
        NullPointerException - 如果键是 null
        ClassCastException - 如果密钥不能转换为 RenderingHints.Key
        IllegalArgumentException - 如果指定键的 Key.isCompatibleValue()方法为指定的值返回false
        另请参见:
        get(Object)
      • add

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

        public void clear​()
        清除所有键/值对的 RenderingHints对象。
        Specified by:
        clear在接口 Map<Object,Object>
      • remove

        public Object remove​(Object key)
        从这个RenderingHints对象中删除键及其对应的值。 如果密钥不在此RenderingHints对象中,此方法不执行任何操作。
        Specified by:
        remove在接口 Map<Object,Object>
        参数
        key - 渲染提示需要删除的关键
        结果
        密钥先前映射到此 RenderingHints对象中的值,如果密钥没有映射, RenderingHints null
        异常
        ClassCastException - 如果密钥不能转换为 RenderingHints.Key
      • putAll

        public void putAll​(Map<?,?> m)
        将所有映射从指定的Map到此RenderingHints 这些映射取代了目前在指定的Map中的任何键的RenderingHints任何映射。
        Specified by:
        putAll在接口 Map<Object,Object>
        参数
        m - 指定的 Map
        异常
        ClassCastException - 在指定的 Map中的键或值的 Map可防止将其存储在此 RenderingHints
        IllegalArgumentException - 指定的 Map中某个键或值的某些方面可防止将其存储在此 RenderingHints
      • keySet

        public Set<Object> keySet​()
        返回Set视图包含在这个按键的RenderingHints 该套装由支持RenderingHints ,所以这种变化RenderingHints反映在Set ,反之亦然。 如果RenderingHints被修改,而在迭代Set正在进行中,迭代的结果是不确定的。 所述Set支撑元件移除,即从相应的映射RenderingHints ,经由Iterator.removeSet.removeremoveAll retainAll ,和clear操作。 它不支持addaddAll操作。
        Specified by:
        keySet在接口 Map<Object,Object>
        结果
        一个 Set视图的钥匙包含在这个 RenderingHints
      • values

        public Collection<Object> values​()
        返回Collection视图包含在这个值的RenderingHints Collection由支持RenderingHints ,所以对变化RenderingHints反映在Collection ,反之亦然。 如果RenderingHints被修改,而在迭代Collection正在进行中,迭代的结果是不确定的。 所述Collection支持元素移除,其去除从所述相应的映射RenderingHints ,经由Iterator.removeCollection.removeremoveAllretainAllclear操作。 它不支持addaddAll操作。
        Specified by:
        values在接口 Map<Object,Object>
        结果
        一个 Collection视图中包含的值 RenderingHints
      • entrySet

        public Set<Map.Entry<Object,Object>> entrySet​()
        返回此RenderingHints包含的映射的Set视图。 返回的Set中的每个元素都是Map.Entry Set由支持RenderingHints ,所以对变化RenderingHints反映在Set ,反之亦然。 如果RenderingHints的同时,同时在迭代改进Set正在进行中,迭代的结果是不确定的。

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

        Specified by:
        entrySet接口 Map<Object,Object>
        结果
        一个 Set视图包含在此映射的 RenderingHints
      • equals

        public boolean equals​(Object o)
        将指定的Object与此RenderingHints作比较。 如果指定的对象也是一个Map ,并且两个Map对象表示相同的映射,则返回true 更正式地,两个Map对象t1t2表示相同的映射,如果t1.keySet().equals(t2.keySet())k中的每个键t1.keySet()
          (t1.get(k)==null ? t2.get(k)==null : t1.get(k).equals(t2.get(k))) 
        这样可确保equals方法在Map接口的不同实现中正常工作。
        Specified by:
        equals在接口 Map<Object,Object>
        重写:
        equalsObject
        参数
        o - Object要与此 RenderingHints进行比较。
        结果
        true如果指定的 Object等于这个 RenderingHints
        另请参见:
        Object.hashCode()HashMap
      • hashCode

        public int hashCode​()
        返回此RenderingHints的哈希码值。 RenderingHints的哈希码被定义为RenderingHints对象的entrySet视图中每个Entry的hashCodes的总和。 这确保了t1.equals(t2)意味着t1.hashCode()==t2.hashCode()对于任何两个Map对象t1t2 ,所要求的一般合同Object.hashCode
        Specified by:
        hashCode在接口 Map<Object,Object>
        重写:
        hashCodeObject
        结果
        这个哈希码值为 RenderingHints
        另请参见:
        Map.Entry.hashCode()Object.hashCode()Object.equals(Object)equals(Object)
      • clone

        public Object clone​()
        创建此的克隆 RenderingHints具有相同的内容,因为这对象 RenderingHints对象。
        重写:
        cloneObject
        结果
        这个实例的一个克隆。
        另请参见:
        Cloneable
      • toString

        public String toString​()
        返回hashmap的相当长的字符串表示形式,其中包含键值与此 RenderingHints对象的值的映射。
        重写:
        toStringObject
        结果
        该对象的字符串表示形式。