Module java.desktop

Interface RenderableImage

所有已知的实现类:
RenderableImageOp

public interface RenderableImage
RenderableImage是一个用于渲染无关图像的常见接口(这个概念包含了分辨率独立性)。也就是说,描述图像并对其应用操作与图像的具体渲染无关。例如,RenderableImage可以以分辨率独立的方式旋转和裁剪。然后,它可以针对各种特定上下文进行渲染,比如草图预览、高质量屏幕显示或打印机,每种情况都以最佳方式进行渲染。

通过createRendering()方法从RenderableImage返回一个RenderedImage,该方法需要一个RenderContext。RenderContext指定了应如何构建RenderedImage。请注意,无法直接从RenderableImage中提取像素。

createDefaultRendering()和createScaledRendering()方法是方便的方法,它们在内部构建一个适当的RenderContext。所有的渲染方法都可能返回对先前生成的渲染的引用。

  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    用于标识通过createRendering或createScaledRendering方法获得的RenderedImage上的属性的字符串常量。
  • Method Summary

    Modifier and Type
    Method
    Description
    返回具有默认宽度和高度(以像素为单位)的此图像的RenderedImage实例。
    createRendering(RenderContext renderContext)
    使用给定的RenderContext创建代表此图像渲染的RenderedImage。
    createScaledRendering(int w, int h, RenderingHints hints)
    返回具有宽度w和高度h(以像素为单位)的此图像的RenderedImage实例。
    float
    获取用户坐标空间中的高度。
    float
    获取渲染无关图像数据的最小X坐标。
    float
    获取渲染无关图像数据的最小Y坐标。
    从此图像的属性集中获取属性。
    String[]
    返回getProperty识别的名称列表。
    返回一个RenderableImages向量,这些RenderableImages是此RenderableImage的图像数据源。
    float
    获取用户坐标空间中的宽度。
    boolean
    如果连续的渲染(即使用相同参数调用createRendering()或createScaledRendering())可能产生不同的结果,则返回true。
  • Field Details

    • HINTS_OBSERVED

      static final String HINTS_OBSERVED
      用于标识通过createRendering或createScaledRendering方法获得的RenderedImage上的属性的字符串常量。如果存在这样的属性,则属性的值将是一个RenderingHints对象,指定创建渲染时观察到的提示。
      参见:
  • Method Details

    • getSources

      Vector<RenderableImage> getSources()
      返回一个RenderableImages向量,这些RenderableImages是此RenderableImage的图像数据源。请注意,此方法可能返回一个空向量,以指示图像没有源,或者返回null,以指示没有可用信息。
      返回:
      一个(可能为空的)RenderableImages向量,或null。
    • getProperty

      Object getProperty(String name)
      从此图像的属性集中获取属性。如果属性名称不被识别,将返回java.awt.Image.UndefinedProperty。
      参数:
      name - 要获取的属性名称,作为String。
      返回:
      属性对象的引用,或值java.awt.Image.UndefinedProperty。
    • getPropertyNames

      String[] getPropertyNames()
      返回getProperty识别的名称列表。
      返回:
      一个属性名称列表。
    • isDynamic

      boolean isDynamic()
      如果连续的渲染(即使用相同参数调用createRendering()或createScaledRendering())可能产生不同的结果,则返回true。此方法可用于确定是否可以缓存和重用现有渲染。始终返回true是安全的。
      返回:
      true 如果使用相同参数进行连续渲染可能产生不同的结果;否则为false
    • getWidth

      float getWidth()
      获取用户坐标空间中的宽度。按照惯例,RenderableImage的常规宽度等于图像的宽高比(宽度除以高度)。
      返回:
      用户坐标中图像的宽度。
    • getHeight

      float getHeight()
      获取用户坐标空间中的高度。按照惯例,RenderedImage的常规高度等于1.0F。
      返回:
      用户坐标中图像的高度。
    • getMinX

      float getMinX()
      获取渲染无关图像数据的最小X坐标。
      返回:
      渲染无关图像数据的最小X坐标。
    • getMinY

      float getMinY()
      获取渲染无关图像数据的最小Y坐标。
      返回:
      渲染无关图像数据的最小Y坐标。
    • createScaledRendering

      RenderedImage createScaledRendering(int w, int h, RenderingHints hints)
      创建一个具有宽度w和高度h(以像素为单位)的此图像的RenderedImage实例。RenderContext会自动构建,其中包含适当的usr2dev变换和完整图像的感兴趣区域。所有的渲染提示都来自传递的提示。

      如果w == 0,则它将被视为等于Math.round(h*(getWidth()/getHeight()))。类似地,如果h == 0,则它将被视为等于Math.round(w*(getHeight()/getWidth()))。w或h中的一个必须为非零,否则将抛出IllegalArgumentException。

      创建的RenderedImage可能具有由字符串HINTS_OBSERVED标识的属性,以指示创建图像时使用了哪些RenderingHints。此外,通过在创建的RenderedImage上的getSources()方法获取的任何RenderedImages可能具有这样的属性。

      参数:
      w - 图像的宽度(以像素为单位),或0。
      h - 图像的高度(以像素为单位),或0。
      hints - 包含提示的RenderingHints对象。
      返回:
      包含渲染数据的RenderedImage。
    • createDefaultRendering

      RenderedImage createDefaultRendering()
      返回具有默认宽度和高度(以像素为单位)的此图像的RenderedImage实例。RenderContext会自动构建,其中包含适当的usr2dev变换和完整图像的感兴趣区域。渲染提示为空。createDefaultRendering可能利用存储的渲染以提高速度。
      返回:
      包含渲染数据的RenderedImage。
    • createRendering

      RenderedImage createRendering(RenderContext renderContext)
      使用给定的RenderContext创建代表此图像渲染的RenderedImage。这是获取RenderableImage渲染的最一般方法。

      创建的RenderedImage可能具有由字符串HINTS_OBSERVED标识的属性,以指示创建图像时使用了哪些RenderingHints(来自RenderContext)。此外,通过在创建的RenderedImage上的getSources()方法获取的任何RenderedImages可能具有这样的属性。

      参数:
      renderContext - 用于生成渲染的RenderContext。
      返回:
      包含渲染数据的RenderedImage。