public interface Composite
Composite
接口和 CompositeContext
一起定义了用基础图形区域组合绘图基本元素的方法。在 Graphics2D
上下文中设置 Composite
后,此接口组合形状、文本或图像,这些内容已经用根据预定义的规则所呈现的颜色进行了呈现。实现此接口的类提供规则和方法来创建特定操作的上下文。CompositeContext
是复合操作所使用的环境,由 Graphics2D
在操作开始前创建。CompositeContext
包含复合操作所需的私有信息和资源。当不再需要 CompositeContext
时,Graphics2D
对象会移除它,以便回收为操作所分配的资源。
实现 Composite
的类实例必须是不可变的,因为将这些对象作为 setComposite
方法的属性来设置时,或者 Graphics2D
对象被复制时,Graphics2D
并不复制这些对象。这是为了避免 Graphics2D
未定义的呈现行为,这种行为是在 Graphics2D
上下文中设置 Composite
对象后再对其进行修改所导致的。
由于此接口必须向可能的任意代码公开目标设备或图像上的像素内容,所以在直接向屏幕设备呈现内容时,由 readDisplayPixels
AWTPermission
负责管理那些实现此接口的自定义对象的使用。将这样的自定义对象传递给 Graphics2D
(从 Component
检索)的 setComposite
方法时会进行权限检查。
方法摘要 | |
---|---|
CompositeContext |
createContext(ColorModel srcColorModel, ColorModel dstColorModel, RenderingHints hints) 创建一个上下文,其中包含用于执行复合操作的状态。 |
方法详细信息 |
---|
CompositeContext createContext(ColorModel srcColorModel, ColorModel dstColorModel, RenderingHints hints)
Composite
对象可同时有多个上下文。
srcColorModel
- 源的
ColorModel
dstColorModel
- 目标的
ColorModel
hints
- 上下文对象用于选择呈现方法的提示
CompositeContext
对象。