返回介绍

java.awt.image.renderable 接口 RenderableImage

发布于 2019-10-04 09:50:38 字数 7337 浏览 830 评论 0 收藏 0

所有已知实现类:
RenderableImageOp

public interface RenderableImage

RenderableImage 是与呈现无关的图像(该概念包含与分辨率无关的意思)的公共接口。与呈现无关的图像也就是被描述的、应用与其任何特定呈现无关的操作的那些图像。例如,一个满足以下条件的 RenderableImage:它可以旋转并可以按与分辨率无关的条件进行裁剪。然后,它可以针对各种特定的上下文(如草图预览、高质量屏幕显示或打印机)以最优方式呈现。

RenderedImage 通过 createRendering() 方法从 RenderableImage 返回,该方法采用 RenderContext 作为参数。RenderContext 指定 RenderedImage 的构造方式。注意,不能直接从 RenderableImage 中提取像素。

createDefaultRendering() 和 createScaledRendering() 方法是内部构造适当 RenderContext 的便捷方法。所有呈现方法都可以返回对以前生成的呈现的引用。


字段摘要
staticStringHINTS_OBSERVED

可以用于在通过 createRendering 或 createScaledRendering 方法获取的 RenderedImage 上标识属性的字符串常量。

方法摘要
RenderedImagecreateDefaultRendering()

返回此图像具有默认宽度和高度(以像素为单位)的一个 RenderedImage 实例。

RenderedImagecreateRendering(RenderContextrenderContext)

使用给定的 RenderContext 创建表示此图像一个呈现的 RenderedImage。

RenderedImagecreateScaledRendering(intw, inth, RenderingHintshints)

创建此图像具有宽度 w 和高度 h(以像素为单位)的一个 RenderedImage 实例。

floatgetHeight()

获取用户坐标空间中的高度。

floatgetMinX()

获取与呈现无关的图像数据的最小 X 坐标。

floatgetMinY()

获取与呈现无关的图像数据的最小 Y 坐标。

ObjectgetProperty(Stringname)

从此图像的属性集中获取某个属性。

String[]getPropertyNames()

返回由 getProperty 识别的名称列表。

Vector<RenderableImage>getSources()

返回作为此 RenderableImage 的图像数据源的 RenderableImage 的向量。

floatgetWidth()

获取用户坐标空间中的宽度。

booleanisDynamic()

如果使用相同参数的后续呈现(即,调用 createRendering() 或 createScaledRendering())可以生成不同的结果,则返回 true。

字段详细信息

HINTS_OBSERVED

static final String HINTS_OBSERVED
可以用于在通过 createRendering 或 createScaledRendering 方法获取的 RenderedImage 上标识属性的字符串常量。如果存在此类属性,则该属性的值将是一个 RenderingHints 对象,该对象指定在创建该呈现时要注意的提示。
另请参见:
常量字段值

方法详细信息

getSources

Vector<RenderableImage> getSources()
返回作为此 RenderableImage 的图像数据源的 RenderableImage 的向量。注意,此方法可能返回空向量,指示该图像没有源,或者返回 null,指示没有可用信息。
返回:
RenderableImages 的(可能为空的)Vector,或者 null。

getProperty

Object getProperty(Stringname)
从此图像的属性集中获取某个属性。如果该属性名无法识别,将返回 java.awt.Image.UndefinedProperty。
参数:
name - 要获取的属性名称(以 String 形式)。
返回:
对属性 Object 的引用,或者值 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(intw,
                                    inth,
                                    RenderingHintshints)
创建此图像具有宽度 w 和高度 h(以像素为单位)的一个 RenderedImage 实例。使用适当的 usr2dev 变换和完整图像的感兴趣区域自动构建 RenderContext。所有呈现提示均来自传入的提示。

如果 w == 0,则该值将等于 Math.round(h*(getWidth()/getHeight()))。类似地,如果 h == 0,则该值将等于 Math.round(w*(getHeight()/getWidth()))。w 和 h 中必须有一个不为零,否则将抛出 IllegalArgumentException。

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

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

createDefaultRendering

RenderedImage createDefaultRendering()
返回此图像具有默认宽度和高度(以像素为单位)的一个 RenderedImage 实例。使用适当的 usr2dev 变换和完整图像的感兴趣区域自动构建 RenderContext。该呈现提示为空。为提高速度,createDefaultRendering 可能会使用已存储的呈现。
返回:
包含所呈现数据的 RenderedImage。

createRendering

RenderedImage createRendering(RenderContextrenderContext)
使用给定的 RenderContext 创建表示此图像一个呈现的 RenderedImage。这是获取 RenderableImage 的呈现的最通用的方法。

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

参数:
renderContext - 用于生成呈现的 RenderContext。
返回:
包含所呈现数据的 RenderedImage。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文