- java.lang.Object
-
- java.awt.RenderingHints
-
public class RenderingHints extends Object implements Map<Object,Object>, Cloneable
RenderingHints
类定义和管理键和关联值的集合,允许应用程序为执行渲染和图像处理服务的其他类所使用的算法选择提供输入。Graphics2D
类以及实现BufferedImageOp
和RasterOp
的类都提供了获取和可能设置单个或一组RenderingHints
键及其关联值的方法。 当这些实现执行任何渲染或图像处理操作时,他们应该检查调用者请求的任何RenderingHints
的值,并根据他们的能力定制相应的算法。请注意,由于这些键和值是提示 ,因此不要求给定实现支持下面指出的所有可能选择,或者它可以响应修改其算法选择的请求。 各种提示键的值也可以相互作用,使得在一种情况下支持给定键的所有变体,但是当修改与其他键相关联的值时,可以更加限制实现。 例如,一些实现可能能够在关闭抗锯齿提示时提供几种类型的抖动,但在抗锯齿打开时几乎无法控制抖动。 全套支持的键和提示的也可以由目的地变化,因为运行时间可以使用不同的底层模块渲染到屏幕上,或到
BufferedImage
个对象,或者在打印时。实现可以完全忽略提示,但应该尝试使用尽可能接近请求的实现算法。 如果某个实现在任何值用于关联的提示键时支持给定算法,那么当该键的值是指定算法的确切值时,它必须最低限度地执行此操作。
用于控制提示的键都是特殊值,它们是关联
RenderingHints.Key
类的子类。 下面将许多常见提示表示为此类中的静态常量,但该列表并不是详尽无遗的。 其他提示可以通过定义新对象来创建,这些对象Key
类并定义关联值。
-
-
嵌套类汇总
嵌套类 变量和类型 类 描述 static class
RenderingHints.Key
定义与RenderingHints
类一起使用的所有键的基本类型,以控制渲染和成像管道中的各种算法选择。
-
字段汇总
字段 变量和类型 字段 描述 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
文本抗锯齿提示值 - 请求从B,G,R的显示从左到右依次为具有子像素的LCD显示器优化显示文本,使得水平子像素分辨率是全像素水平分辨率(HBGR)的三倍。static Object
VALUE_TEXT_ANTIALIAS_LCD_HRGB
文本抗锯齿提示值 - 请求从R,G,B的显示从左到右依次为具有子像素的LCD显示器优化显示文本,使得水平子像素分辨率是全像素水平分辨率(HRGB)的三倍。static Object
VALUE_TEXT_ANTIALIAS_LCD_VBGR
文本抗锯齿提示值 - 请求显示文本优化用于具有子像素组织的LCD显示器,从B,G,R的显示器顶部到底部,使得垂直子像素分辨率是全像素垂直分辨率(VBGR)的三倍。static Object
VALUE_TEXT_ANTIALIAS_LCD_VRGB
文本抗锯齿提示值 - 请求显示文本优化用于具有子像素组织的LCD显示器,从R,G,B的显示器顶部到底部,使得垂直子像素分辨率是全像素垂直分辨率(VRGB)的三倍。static Object
VALUE_TEXT_ANTIALIAS_OFF
文本抗锯齿提示值 - 文本呈现在没有任何形式的抗锯齿的情况下完成。static Object
VALUE_TEXT_ANTIALIAS_ON
文本抗锯齿提示值 - 文本呈现通过某种形式的抗锯齿完成。
-
构造方法摘要
构造方法 构造器 描述 RenderingHints(RenderingHints.Key key, Object value)
使用指定的键/值对构造一个新对象。RenderingHints(Map<RenderingHints.Key,?> init)
使用从指定的Map对象初始化的键和值构造一个新对象,该对象可以为null。
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 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()
返回Set
视图包含在这个按键的RenderingHints
。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()
返回此RenderingHints
包含的值的Collection
视图。-
声明方法的接口 java.util.Map
compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, 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
文本抗锯齿提示值 - 请求从R,G,B的显示从左到右依次为具有子像素的LCD显示器优化显示文本,使得水平子像素分辨率是全像素水平分辨率(HRGB)的三倍。 这是最常见的配置。 选择此提示以显示具有其他LCD子像素配置之一的显示可能会导致未聚焦的文本。笔记:
选择是否应用任何LCD文本提示值时的实现可以考虑因素,包括要求目标的颜色深度为每像素至少15位(即每个颜色分量5位),字体的特征,例如是否嵌入式位图可以产生更好的结果,或者当显示到非本地网络显示设备时,仅在适当的协议可用时启用它,或者如果执行非常高的分辨率渲染或者目标设备不合适则忽略提示:例如,当打印时。这些提示同样可以在渲染到软件图像时应用,但这些图像可能不适合一般导出,因为文本将针对特定的子像素组织进行适当渲染。 有损图像也不是一个好的选择,也不是像GIF那样颜色有限的图像格式。 因此,除非图像仅用于在具有相同配置的显示设备上呈现,否则一些其他文本抗锯齿提示(例如
VALUE_TEXT_ANTIALIAS_ON
)可能是更好的选择。选择与正在使用的LCD显示屏不匹配的值可能会导致文本质量下降。 在与LCD显示器不具有相同特性的显示设备(即CRT)上,整体效果可能看起来类似于标准文本抗锯齿,但质量可能因颜色失真而降低。 与标准文本抗锯齿相比,模拟连接的LCD显示器也可能没有什么优势,并且类似于CRT。
换句话说,为了获得最佳效果,请使用带有数字显示接口的LCD显示器,并指定适当的子像素配置。
- 从以下版本开始:
- 1.6
- 另请参见:
-
KEY_TEXT_ANTIALIASING
-
VALUE_TEXT_ANTIALIAS_LCD_HBGR
public static final Object VALUE_TEXT_ANTIALIAS_LCD_HBGR
文本抗锯齿提示值 - 请求从B,G,R的显示从左到右依次为具有子像素的LCD显示器优化显示文本,使得水平子像素分辨率是全像素水平分辨率(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
文本抗锯齿提示值 - 请求显示文本优化用于具有子像素组织的LCD显示器,从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
文本抗锯齿提示值 - 请求显示文本优化用于具有子像素组织的LCD显示器,从B,G,R的显示器顶部到底部,使得垂直子像素分辨率是全像素垂直分辨率(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指令。 该提示还可以控制在计算更多线性视觉效果期间是否将颜色和α值转换为线性颜色空间,代价是额外的每像素计算。
此提示的允许值为
-
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
以使得在计算的值与感知的值之间具有线性关系,则可以实现更大的视觉清晰度。人眼对输出设备的响应曲线。此提示的允许值为
-
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
。 这些映射替换了此RenderingHints
对于当前指定的Map
中的任何键所具有的任何映射。- Specified by:
-
putAll
在界面Map<Object,Object>
- 参数
-
m
- 指定的Map
- 异常
-
ClassCastException
- 指定的Map
中的键或值的Map
阻止它存储在此RenderingHints
。 -
IllegalArgumentException
- 指定的Map
中某个键或值的某个方面阻止它存储在此RenderingHints
。
-
keySet
public Set<Object> keySet()
返回此RenderingHints
包含的密钥的Set
视图。 该套装由支持RenderingHints
,所以这种变化RenderingHints
反映在Set
,反之亦然。 如果在RenderingHints
上进行迭代时修改了Set
,则迭代结果未定义。 所述Set
支持元素移除,其去除从所述相应的映射RenderingHints
,经由Iterator.remove
,Set.remove
,removeAll retainAll
,和clear
操作。 它不支持add
或addAll
操作。
-
values
public Collection<Object> values()
返回此RenderingHints
包含的值的Collection
视图。 该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()
返回Set
视图包含在此映射的RenderingHints
。 返回的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
,如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
对象相同的内容。
-
-