- java.lang.Object
-
- java.awt.RenderingHints
-
public class RenderingHints extends Object implements Map<Object,Object>, Cloneable
RenderingHints
类定义和管理密钥和关联值的集合,允许应用程序为执行渲染和图像处理服务的其他类使用的算法选择提供输入。Graphics2D
类和实现BufferedImageOp
和RasterOp
的类都提供了获取和可能设置RenderingHints
密钥及其关联值的个人或组的RenderingHints
。 当这些实现执行任何渲染或图像处理操作时,他们应该检查呼叫者请求的任何RenderingHints
的值,并根据他们的能力调整所使用的算法。请注意,由于这些键和值是提示 ,所以不需要给定的实现支持下面指出的所有可能的选择,或者它可以响应修改其算法选择的请求。 各种提示键的值也可以相互作用,使得当在一种情况下支持给定键的所有变体时,当与其他键相关联的值被修改时,实施可能会更受限制。 例如,当抗锯齿提示被关闭时,一些实施方式可能能够提供若干类型的抖动,但是当抗锯齿处于打开状态时,几乎不能控制抖动。 支持的键和提示的完整集合也可能因目的地而异,因为运行时间可能会使用不同的底层模块呈现到屏幕上,或者在打印时打印到
BufferedImage
对象。实现可以完全忽略提示,但应该尝试使用尽可能接近请求的实现算法。 如果一个实现支持一个给定的算法,当任何值用于相关联的提示密钥时,最低限度地,当该值的值是指定算法的确切值时,它必须这样做。
用于控制提示的键都是对相关联的
RenderingHints.Key
类进行子类化的特殊值。 许多常见的提示在下面被表示为这个类中的静态常量,但是列表并不是详尽无遗的。 其他提示也可以由其他包创建,方法是定义新对象,该对象可以分类Key
类并定义关联的值。
-
-
Nested Class Summary
Nested Classes Modifier and Type Class 描述 static class
RenderingHints.Key
定义与RenderingHints
类一起使用的所有键的基本类型,以控制渲染和成像管道中的各种算法选择。
-
Field Summary
Fields Modifier and Type Field 描述 static RenderingHints.Key
KEY_ALPHA_INTERPOLATION
Alpha插补提示键。static RenderingHints.Key
KEY_ANTIALIASING
抗锯齿提示键。static RenderingHints.Key
KEY_COLOR_RENDERING
显色提示键。static RenderingHints.Key
KEY_DITHERING
抖动提示键。static RenderingHints.Key
KEY_FRACTIONALMETRICS
字体分数指标提示键。static RenderingHints.Key
KEY_INTERPOLATION
插值提示键。static RenderingHints.Key
KEY_RENDERING
呈现提示键。static RenderingHints.Key
KEY_RESOLUTION_VARIANT
图像分辨率变体提示键。static RenderingHints.Key
KEY_STROKE_CONTROL
中风归一化控制提示键。static RenderingHints.Key
KEY_TEXT_ANTIALIASING
文本抗锯齿提示键。static RenderingHints.Key
KEY_TEXT_LCD_CONTRAST
LCD文字对比度提示键。static Object
VALUE_ALPHA_INTERPOLATION_DEFAULT
Alpha插值提示值 - alpha混合算法由实现选择,以实现性能与质量的良好折衷。static Object
VALUE_ALPHA_INTERPOLATION_QUALITY
选择Alpha插值提示值 - alpha混合算法,偏好精度和视觉质量。static Object
VALUE_ALPHA_INTERPOLATION_SPEED
选择Alpha插值提示值 - alpha混合算法,优先于计算速度。static Object
VALUE_ANTIALIAS_DEFAULT
抗锯齿提示值 - 使用实现选择的默认抗锯齿模式进行渲染。static Object
VALUE_ANTIALIAS_OFF
抗锯齿提示值 - 渲染完成时没有抗锯齿。static Object
VALUE_ANTIALIAS_ON
抗混叠提示值 - 使用抗锯齿来实现渲染。static Object
VALUE_COLOR_RENDER_DEFAULT
显色渲染提示值 - 执行颜色转换计算,以表示性能和精度之间的最佳可用权衡。static Object
VALUE_COLOR_RENDER_QUALITY
显色提示值 - 以最高的精度和视觉质量执行颜色转换计算。static Object
VALUE_COLOR_RENDER_SPEED
显色提示值 - 执行最快的颜色转换为输出设备的格式。static Object
VALUE_DITHER_DEFAULT
抖动提示值 - 使用实现选择的抖动的默认值。static Object
VALUE_DITHER_DISABLE
抖动提示值 - 渲染几何时不要抖动。static Object
VALUE_DITHER_ENABLE
抖动提示值 - 如果需要,渲染几何时,抖动。static Object
VALUE_FRACTIONALMETRICS_DEFAULT
字体分数度量提示值 - 字符字形按照实现选择的精度进行定位。static Object
VALUE_FRACTIONALMETRICS_OFF
字体分数度量提示值 - 字符字形以先进宽度定位,四舍五入到像素边界。static Object
VALUE_FRACTIONALMETRICS_ON
字体分数度量提示值 - 字符字形以子像素精度定位。static Object
VALUE_INTERPOLATION_BICUBIC
插值提示值 - 使用X
和Y
的三次函数对图像中9个附近整数坐标样本的颜色样本进行插值,以生成颜色样本。static Object
VALUE_INTERPOLATION_BILINEAR
插值提示值 - 图像中最近邻近4个整数坐标样本的颜色样本被线性内插以产生颜色样本。static Object
VALUE_INTERPOLATION_NEAREST_NEIGHBOR
插值提示值 - 使用图像中最近的相邻整数坐标样本的颜色样本。static Object
VALUE_RENDER_DEFAULT
渲染提示值 - 渲染算法由实现选择,以实现性能与质量的良好折衷。static Object
VALUE_RENDER_QUALITY
渲染提示值 - 选择渲染算法以优化输出质量。static Object
VALUE_RENDER_SPEED
渲染提示值 - 选择渲染算法以优先输出速度。static Object
VALUE_RESOLUTION_VARIANT_BASE
图像分辨率变体提示值 - 始终使用图像的标准分辨率。static Object
VALUE_RESOLUTION_VARIANT_DEFAULT
图像分辨率变体提示值 - 基于可能依赖于平台策略的默认启发式来选择图像分辨率变体static Object
VALUE_RESOLUTION_VARIANT_DPI_FIT
图像分辨率变体提示值 - 仅基于屏幕的DPI选择图像分辨率变体。static Object
VALUE_RESOLUTION_VARIANT_SIZE_FIT
图像分辨率变体提示值 - 基于屏幕的DPI和Graphics2D上下文中的变换来选择图像分辨率变体。static Object
VALUE_STROKE_DEFAULT
笔画归一化控制提示值 - 几何可能被修改或者保留为纯粹,取决于给定实现中的权衡。static Object
VALUE_STROKE_NORMALIZE
笔画归一化控制提示值 - 几何应归一化,以提高线条的均匀性或间距以及整体美感。static Object
VALUE_STROKE_PURE
笔画归一化控制提示值 - 几何应保持未修改,并以亚像素精度呈现。static Object
VALUE_TEXT_ANTIALIAS_DEFAULT
文本抗锯齿提示值 - 文本呈现是根据KEY_ANTIALIASING
提示或默认选择的实现方式完成的。static Object
VALUE_TEXT_ANTIALIAS_GASP
文本抗锯齿提示值 - 文本呈现请求使用字体资源中的信息,为每个点大小指定是否应用VALUE_TEXT_ANTIALIAS_ON
或VALUE_TEXT_ANTIALIAS_OFF
。static Object
VALUE_TEXT_ANTIALIAS_LCD_HBGR
文本抗锯齿提示值 - 要求显示的文本被优化为具有子像素的LCD显示,按照B,G,R的显示从左到右的顺序显示,使得水平子像素分辨率是全像素水平分辨率(HBGR)的三倍, 。static Object
VALUE_TEXT_ANTIALIAS_LCD_HRGB
文本抗锯齿提示值 - 要求显示的文本被优化为具有子像素的LCD显示,按照R,G,B的显示从左到右的顺序显示,使得水平子像素分辨率是全像素水平分辨率(HRGB)的三倍, 。static Object
VALUE_TEXT_ANTIALIAS_LCD_VBGR
文本抗锯齿提示值 - 要求显示的文本被优化为具有从B,G,R的显示器顶部到底部的子像素组织的LCD显示,使得垂直子像素分辨率是全像素垂直分辨率(VBGR)的三倍。static Object
VALUE_TEXT_ANTIALIAS_LCD_VRGB
文本抗锯齿提示值 - 要求文本显示优化为具有子像素组织的液晶显示器,从R,G,B的显示顶部到底部,使得垂直子像素分辨率是全像素垂直分辨率(VRGB)的三倍。static Object
VALUE_TEXT_ANTIALIAS_OFF
文本抗锯齿提示值 - 文本呈现没有任何形式的抗锯齿。static Object
VALUE_TEXT_ANTIALIAS_ON
文本抗锯齿提示值 - 文本渲染是通过某种形式的抗锯齿来完成的。
-
构造方法摘要
构造方法 Constructor 描述 RenderingHints(RenderingHints.Key key, Object value)
使用指定的键/值对构造新对象。RenderingHints(Map<RenderingHints.Key,?> init)
构造一个新对象,该对象具有从指定的Map对象初始化的键和值,该对象可能为null。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 void
add(RenderingHints hints)
将所有的键和对应的值从指定的RenderingHints
对象添加到此RenderingHints
对象。void
clear()
清除所有键/值对的此RenderingHints
对象。Object
clone()
创建此的克隆RenderingHints
具有相同的内容,因为这对象RenderingHints
对象。boolean
containsKey(Object key)
如果此RenderingHints
包含指定键的映射,则返回true
。boolean
containsValue(Object value)
如果此RenderingHints将一个或多个键映射到指定的值,则返回true。Set<Map.Entry<Object,Object>>
entrySet()
返回Set
视图包含在此映射的RenderingHints
。boolean
equals(Object o)
将指定的Object
与此RenderingHints
进行比较以获得相等性。Object
get(Object key)
返回指定键映射到的值。int
hashCode()
返回此RenderingHints
的哈希码值。boolean
isEmpty()
如果此RenderingHints
包含键值映射,则返回true
。Set<Object>
keySet()
返回此RenderingHints
包含的键的Set
视图。Object
put(Object key, Object value)
将指定的key
映射到此RenderingHints
对象中指定的value
。void
putAll(Map<?,?> m)
将所有映射从指定的Map
到此RenderingHints
。Object
remove(Object key)
从该RenderingHints
对象中删除该键及其对应的值。int
size()
返回此RenderingHints
键值映射的RenderingHints
。String
toString()
返回hashmap的相当长的字符串表示形式,其中包含键值与此RenderingHints
对象的值的映射。Collection<Object>
values()
返回Collection
视图包含在这个值的RenderingHints
。-
Methods inherited from interface java.util.Map
compute, computeIfAbsent, computeIfPresent, entry, forEach, getOrDefault, merge, of, of, of, of, of, of, of, of, of, of, of, ofEntries, putIfAbsent, remove, replace, replace, replaceAll
-
-
-
-
字段详细信息
-
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
-
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
文本抗锯齿提示值 - 文本渲染是通过某种形式的抗锯齿来完成的。- 另请参见:
-
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_ON
或VALUE_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
插值提示值 - 使用X
和Y
的三次函数对图像中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
-
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
- 另请参见:
-
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
。
-
isEmpty
public boolean isEmpty()
如果此RenderingHints
包含键值映射,则返回true
。
-
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
对象的一组键/值对
-
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.remove
,Set.remove
,removeAll retainAll
,和clear
操作。 它不支持add
或addAll
操作。
-
values
public Collection<Object> values()
返回Collection
视图包含在这个值的RenderingHints
。 该Collection
由支持RenderingHints
,所以对变化RenderingHints
反映在Collection
,反之亦然。 如果RenderingHints
被修改,而在迭代Collection
正在进行中,迭代的结果是不确定的。 所述Collection
支持元素移除,其去除从所述相应的映射RenderingHints
,经由Iterator.remove
,Collection.remove
,removeAll
,retainAll
和clear
操作。 它不支持add
或addAll
操作。
-
entrySet
public Set<Map.Entry<Object,Object>> entrySet()
返回此RenderingHints
包含的映射的Set
视图。 返回的Set
中的每个元素都是Map.Entry
。 该Set
由支持RenderingHints
,所以对变化RenderingHints
反映在Set
,反之亦然。 如果RenderingHints
的同时,同时在迭代改进Set
正在进行中,迭代的结果是不确定的。从
RenderingHints
对象返回的entrySet不可修改。
-
equals
public boolean equals(Object o)
将指定的Object
与此RenderingHints
作比较。 如果指定的对象也是一个Map
,并且两个Map
对象表示相同的映射,则返回true
。 更正式地,两个Map
对象t1
和t2
表示相同的映射,如果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
接口的不同实现中正常工作。
-
hashCode
public int hashCode()
返回此RenderingHints
的哈希码值。RenderingHints
的哈希码被定义为RenderingHints
对象的entrySet视图中每个Entry
的hashCodes的总和。 这确保了t1.equals(t2)
意味着t1.hashCode()==t2.hashCode()
对于任何两个Map
对象t1
和t2
,所要求的一般合同Object.hashCode
。- Specified by:
-
hashCode
在接口Map<Object,Object>
- 重写:
-
hashCode
在Object
- 结果
-
这个哈希码值为
RenderingHints
。 - 另请参见:
-
Map.Entry.hashCode()
,Object.hashCode()
,Object.equals(Object)
,equals(Object)
-
clone
public Object clone()
创建此的克隆RenderingHints
具有相同的内容,因为这对象RenderingHints
对象。
-
-