public abstract class VolatileImage extends Image implements Transparency
一个图像的图面(存储在图像内容实际居住)会丢失或失效,导致该内存的内容去。绘图表面从而需要恢复或重建的内容和表面需要重新渲染。volatileimage允许用户发现这些问题和解决这些问题时提供了一个接口。
当一个volatileimage对象创建时,有限的系统资源,如内存(VRAM)可分为支持图像。当一个volatileimage对象不再被使用,它可能是垃圾收集的系统资源将被退回,但这一过程不保证时间发生。应用程序创建许多volatileimage对象(例如,一个窗口大小调整可能迫使其后台缓冲区游憩为大小的变化)可能会耗尽系统资源优化新volatileimage对象只是因为旧对象尚未被从系统中删除。(新volatileimage对象仍然可以创造的,但他们的表现可能不如那些创造加速记忆)。冲洗的方法可能会在任何时间主动释放资源的volatileimage使它不能阻止随后的volatileimage物体被加速。这样,应用程序可以在被淘汰的volatileimage对象资源的国家更多的控制。
这个形象不应该被直接继承而应采用Component.createVolatileImage
或GraphicsConfiguration.createCompatibleVolatileImage(int, int)
方法创建。
使用volatileimage对象实例如下:
/图像创建volatileimage vimg = createvolatileimage(W,H);/渲染到图像renderoffscreen() { void做{如果(vimg。验证(getgraphicsconfiguration())= =volatileimage image_incompatible)。{/ /老vimg不工作与新graphicsconfig;重新创建它vimg = createvolatileimage(W,H);}vimg creategraphics() Graphics2D G =;/ //杂项渲染命令…/ /G. dispose();}而(vimg。contentslost());}/ /复制图像(在这里,gscreen是图形/ /对象的屏幕窗口)做{int returnCode = vimg验证(getgraphicsconfiguration());如果(returnCode = = volatileimage。image_restored){/ /内容需要恢复renderoffscreen();/ /恢复内容} else if(returnCode = = volatileimage。image_incompatible){/ /老vimg不工作与新graphicsconfig;重新创建它vimg = createvolatileimage(W,H);renderoffscreen();}gscreen。DrawImage(vimg、0、0、本);}而(vimg。contentslost());
请注意,这个类的子类从Image
类,包括方法,采取异步通知一个ImageObserver
参数信息是从一个潜在的ImageProducer
接收。由于这VolatileImage
不是来自一个异步源负载,带ImageObserver
参数的各种方法将表现为如果数据已经从ImageProducer
获得。具体来说,这意味着从该方法的返回值将不会显示的信息是不可用的,使用这种方法的ImageObserver
永远不需要被记录为异步回调通知。
Modifier and Type | Field and Description |
---|---|
static int |
IMAGE_INCOMPATIBLE
验证图像提供
GraphicsConfiguration 对象兼容和应重新创建合适的。
|
static int |
IMAGE_OK
已验证的图像已准备好使用。
|
static int |
IMAGE_RESTORED
已恢复已验证的图像,并已准备使用。
|
protected int |
transparency
创建此图像的透明度值。
|
accelerationPriority, SCALE_AREA_AVERAGING, SCALE_DEFAULT, SCALE_FAST, SCALE_REPLICATE, SCALE_SMOOTH, UndefinedProperty
BITMASK, OPAQUE, TRANSLUCENT
Constructor and Description |
---|
VolatileImage() |
Modifier and Type | Method and Description |
---|---|
abstract boolean |
contentsLost()
返回
true 如果渲染数据是自去年
validate 呼叫丢失。
|
abstract Graphics2D |
createGraphics()
创建一个
Graphics2D ,可画成这
VolatileImage 。
|
abstract ImageCapabilities |
getCapabilities()
返回一个imagecapabilities对象可以查询到这volatileimage具体能力。
|
Graphics |
getGraphics()
此方法返回一个
Graphics2D ,但在这里是为了向后兼容。
|
abstract int |
getHeight()
返回的
VolatileImage 高度。
|
abstract BufferedImage |
getSnapshot()
返回此对象的静态快照图像。
|
ImageProducer |
getSource()
这一imageproducer返回此volatileimage。
|
int |
getTransparency()
返回透明度。
|
abstract int |
getWidth()
返回的
VolatileImage 宽度。
|
abstract int |
validate(GraphicsConfiguration gc)
试图恢复图像的绘制表面,如果表面已自去年
validate 呼叫丢失。
|
flush, getAccelerationPriority, getCapabilities, getHeight, getProperty, getScaledInstance, getWidth, setAccelerationPriority
public static final int IMAGE_OK
public static final int IMAGE_RESTORED
public static final int IMAGE_INCOMPATIBLE
GraphicsConfiguration
对象兼容和应重新创建合适的。该图像是从
validate
后收到返回的代码是定义的用法。
protected int transparency
public abstract BufferedImage getSnapshot()
BufferedImage
只有电流在要求的时间
VolatileImage
并不会对
VolatileImage
任何未来的更新变化。
BufferedImage
表示
VolatileImage
BufferedImage
public abstract int getWidth()
VolatileImage
宽度。
VolatileImage
宽度。
public abstract int getHeight()
VolatileImage
高度。
VolatileImage
高度。
public ImageProducer getSource()
getSource
操作可能无法执行操作的速度不依赖于阅读的像素。请注意,从图像中读取的像素值是当前与那些在图像中,只有在它们被检索的时间。该方法以当时提出要求和imageproducer对象返回的作品与静态图像的图像的快照,而不是原来的volatileimage。打电话getsource()相当于getsnapshot() getsource()调用。
getSource
方法重写,继承类
Image
ImageProducer
,可用于
BufferedImage
表示该图像的像素产生的。
ImageProducer
,
getSnapshot()
public Graphics getGraphics()
getGraphics
方法重写,继承类
Image
Graphics2D
,可画成这个形象。
Graphics
,
Component.createImage(int, int)
public abstract Graphics2D createGraphics()
Graphics2D
,可画成这
VolatileImage
。
Graphics2D
,用于绘制到这个形象。
public abstract int validate(GraphicsConfiguration gc)
validate
呼叫丢失。也验证了这一形象对给定的graphicsconfiguration参数是否从这个形象的graphicsconfiguration操作兼容。一种不兼容的组合的一个例子可能是一个volatileimage对象是一个图形设备上创建并用来渲染不同的图形设备。因为volatileimage对象往往是非常具体的移动设备,该操作可能会无法正常工作,所以从这个返回代码验证调用会注意不相容。GC无效或不正确的值可能会导致不正确的值被返回
validate
还可能导致渲染以后的问题。
gc
-这个形象被验证
GraphicsConfiguration
对象。一个空的气相色谱法意味着,验证方法应跳过兼容性测试。
IMAGE_OK
如果图像没有如果图像需要修复,需要validation
IMAGE_RESTORED
。恢复意味着图像的内容可能会受到影响,图像可能如果图像与
GraphicsConfiguration
对象传递到
validate
方法不需要re-rendered.
IMAGE_INCOMPATIBLE
。不意味着图像可能需要一个新的
Component
或
GraphicsConfiguration
为了获得图像,可以用这
GraphicsConfiguration
成功再现。一个不兼容的图像不检查是否恢复是必要的,所以图像的状态是不变的
IMAGE_INCOMPATIBLE
返回值和返回值意味着没有关于是否需要恢复后的图像。
GraphicsConfiguration
,
Component
,
IMAGE_OK
,
IMAGE_RESTORED
,
IMAGE_INCOMPATIBLE
public abstract boolean contentsLost()
true
如果渲染数据是自去年
validate
呼叫丢失。这种方法被称为在任何系列的绘制操作结束应用程序或从图像到图像是否需要验证和渲染重做。
true
如果图面需要恢复;
false
否则。
public abstract ImageCapabilities getCapabilities()
ImageCapabilities
对象包含此
VolatileImage
能力。
public int getTransparency()
getTransparency
接口
Transparency
VolatileImage
透明度。
Transparency.OPAQUE
,
Transparency.BITMASK
,
Transparency.TRANSLUCENT
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.