Module java.desktop
Package java.awt

Interface Composite

所有已知的实现类:
AlphaComposite

public interface Composite
Composite接口与CompositeContext一起定义了将绘图原语与底层图形区域组合的方法。在将Composite设置在Graphics2D上下文中后,它将正在呈现的形状、文本或图像与已根据预定义规则呈现的颜色相结合。实现此接口的类提供规则和用于创建特定操作上下文的方法。CompositeContext是合成操作使用的环境,由Graphics2D在操作开始之前创建。CompositeContext包含合成操作所需的私有信息和资源。当不再需要CompositeContext时,Graphics2D对象会将其处理掉以回收为操作分配的资源。

实现Composite类的实例必须是不可变的,因为当它们被设置为setComposite方法的属性或当Graphics2D对象被克隆时,Graphics2D不会克隆这些对象。这是为了避免在将Composite对象设置在Graphics2D上下文中后对其进行修改而导致Graphics2D的未定义呈现行为。

由于此接口必须向潜在的任意代码公开目标设备或图像上的像素内容,因此在直接渲染到屏幕设备时使用实现此接口的自定义对象受readDisplayPixels AWTPermission的管理。当将这样的自定义对象传递给从Component检索到的Graphics2DsetComposite方法时,权限检查将会发生。

参见:
  • Method Details

    • createContext

      CompositeContext createContext(ColorModel srcColorModel, ColorModel dstColorModel, RenderingHints hints)
      创建一个包含用于执行合成操作的状态的上下文。在多线程环境中,对于单个Composite对象可以同时存在多个上下文。
      参数:
      srcColorModel - 源的ColorModel
      dstColorModel - 目标的ColorModel
      hints - 上下文对象用于在渲染替代方案之间进行选择的提示
      返回:
      用于执行合成操作的CompositeContext对象。