- 所有已实现的接口:
-
RenderedImage
,WritableRenderedImage
,Transparency
BufferedImage
子类描述了一个具有可访问的图像数据缓冲区的Image
。一个BufferedImage
由一个ColorModel
和一个图像数据的Raster
组成。Raster
的SampleModel
中的波段数量和类型必须与ColorModel
所需的用于表示其颜色和alpha分量的数量和类型匹配。所有BufferedImage
对象的左上角坐标为(0, 0)。用于构造BufferedImage
的任何Raster
必须具有minX=0和minY=0。
该类依赖于Raster
的数据获取和设置方法,以及ColorModel
的颜色特征方法。
- 参见:
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
表示具有8位RGB颜色分量的图像,对应于Windows风格的BGR颜色模型,颜色蓝、绿和红存储在3个字节中。static final int
表示具有8位RGBA颜色分量的图像,颜色蓝、绿和红存储在3个字节中,alpha通道存储在1个字节中。static final int
表示具有8位RGBA颜色分量的图像,颜色蓝、绿和红存储在3个字节中,alpha通道存储在1个字节中。static final int
表示一个不透明的按字节打包的1、2或4位图像。static final int
表示一个无符号字节灰度图像,非索引。static final int
表示一个索引字节图像。static final int
图像类型未被识别,因此必须是自定义图像。static final int
表示具有8位RGBA颜色分量打包到整数像素中的图像。static final int
表示具有8位RGBA颜色分量打包到整数像素中的图像。static final int
表示具有8位RGB颜色分量的图像,对应于Windows或Solaris风格的BGR颜色模型,颜色蓝、绿和红打包到整数像素中。static final int
表示具有8位RGB颜色分量打包到整数像素中的图像。static final int
表示具有5-5-5 RGB颜色分量(5位红色,5位绿色,5位蓝色)且没有alpha通道的图像。static final int
表示具有5-6-5 RGB颜色分量(5位红色,6位绿色,5位蓝色)且没有alpha通道的图像。static final int
表示一个无符号短整型灰度图像,非索引。Fields declared in class java.awt.Image
accelerationPriority, SCALE_AREA_AVERAGING, SCALE_DEFAULT, SCALE_FAST, SCALE_REPLICATE, SCALE_SMOOTH, UndefinedProperty
Fields declared in interface java.awt.Transparency
BITMASK, OPAQUE, TRANSLUCENT
-
Constructor Summary
ConstructorDescriptionBufferedImage
(int width, int height, int imageType) 构造一个预定义图像类型的BufferedImage
。BufferedImage
(int width, int height, int imageType, IndexColorModel cm) 构造一个预定义图像类型的BufferedImage
:TYPE_BYTE_BINARY或TYPE_BYTE_INDEXED。BufferedImage
(ColorModel cm, WritableRaster raster, boolean isRasterPremultiplied, Hashtable<?, ?> properties) 使用指定的ColorModel
和Raster
构造一个新的BufferedImage
。 -
Method Summary
Modifier and TypeMethodDescriptionvoid
添加一个瓦片观察者。void
coerceData
(boolean isAlphaPremultiplied) 强制数据匹配isAlphaPremultiplied
变量指定的状态。copyData
(WritableRaster outRaster) 计算BufferedImage
的任意矩形区域并将其复制到指定的WritableRaster
中。创建一个Graphics2D
,可用于绘制到这个BufferedImage
中。返回表示BufferedImage
对象的alpha通道的WritableRaster
,对于支持单独空间alpha通道的ColorModel
对象,如ComponentColorModel
和DirectColorModel
。返回ColorModel
。getData()
将图像作为一个大瓦片返回。计算并返回BufferedImage
的任意区域。此方法返回一个Graphics2D
,但这里是为了向后兼容。int
返回BufferedImage
的高度。int
getHeight
(ImageObserver observer) 返回BufferedImage
的高度。int
返回x方向上的最小瓦片索引。int
返回y方向上的最小瓦片索引。int
getMinX()
返回此BufferedImage
的最小x坐标。int
getMinY()
返回此BufferedImage
的最小y坐标。int
返回x方向上的瓦片数量。int
返回y方向上的瓦片数量。getProperty
(String name) 通过名称返回图像的属性。getProperty
(String name, ImageObserver observer) 通过名称返回图像的属性。String[]
返回由getProperty(String)
识别的名称数组,如果不识别任何属性名称,则返回null
。返回WritableRaster
。int
getRGB
(int x, int y) 返回默认RGB颜色模型(TYPE_INT_ARGB)和默认sRGB颜色空间中的整数像素。int[]
getRGB
(int startX, int startY, int w, int h, int[] rgbArray, int offset, int scansize) 返回默认RGB颜色模型(TYPE_INT_ARGB)和默认sRGB颜色空间中的整数像素数组,从图像数据的一部分。返回与此BufferedImage
关联的SampleModel
。返回为图像生成像素的对象。返回BufferedImage
对象的图像数据的立即源(不是这些立即源的源)的RenderedImage
对象的Vector
。getSubimage
(int x, int y, int w, int h) 返回由指定矩形区域定义的子图像。getTile
(int tileX, int tileY) 返回瓦片(tileX
,tileY
)。int
返回瓦片网格的x偏移量相对于原点的位置,例如,瓦片(0,0)的位置的x坐标。int
返回瓦片网格的y偏移量相对于原点的位置,例如,瓦片(0,0)的位置的y坐标。int
返回瓦片的高度(以像素为单位)。int
返回瓦片的宽度(以像素为单位)。int
返回透明度。int
getType()
返回图像类型。int
getWidth()
返回BufferedImage
的宽度。int
getWidth
(ImageObserver observer) 返回BufferedImage
的宽度。getWritableTile
(int tileX, int tileY) 检出一个可写的瓦片。Point[]
返回一个Point
对象数组,指示哪些瓦片已经检出以进行写入。boolean
返回是否有任何瓦片已经检出以进行写入。boolean
返回alpha是否已经预乘。boolean
isTileWritable
(int tileX, int tileY) 返回当前是否有瓦片已经检出以进行写入。void
releaseWritableTile
(int tileX, int tileY) 放弃对一个瓦片的写入权限。void
移除一个瓦片观察者。void
将图像的矩形区域设置为指定Raster r
的内容,假定Raster
与BufferedImage
在相同的坐标空间中。void
setRGB
(int x, int y, int rgb) 将此BufferedImage
中的像素设置为指定的RGB值。void
setRGB
(int startX, int startY, int w, int h, int[] rgbArray, int offset, int scansize) 将默认RGB颜色模型(TYPE_INT_ARGB)和默认sRGB颜色空间中的整数像素数组,写入到图像数据的一部分。toString()
返回此BufferedImage
对象及其值的String
表示形式。Methods declared in class java.awt.Image
flush, getAccelerationPriority, getCapabilities, getScaledInstance, setAccelerationPriority
-
Field Details
-
TYPE_CUSTOM
public static final int TYPE_CUSTOM图像类型未被识别,因此必须是自定义图像。此类型仅用作getType()方法的返回值。- 参见:
-
TYPE_INT_RGB
public static final int TYPE_INT_RGB表示具有8位RGB颜色分量打包到整数像素中的图像。该图像具有没有alpha通道的DirectColorModel
。当存储具有非不透明alpha的数据时,颜色数据必须调整为非预乘形式,并丢弃alpha,如AlphaComposite
文档中所述。- 参见:
-
TYPE_INT_ARGB
public static final int TYPE_INT_ARGB表示具有8位RGBA颜色分量打包到整数像素中的图像。该图像具有带alpha的DirectColorModel
。此图像中的颜色数据被认为没有与alpha预乘。当此类型用作BufferedImage
构造函数的imageType
参数时,创建的图像与JDK1.1和更早版本中创建的图像一致。- 参见:
-
TYPE_INT_ARGB_PRE
public static final int TYPE_INT_ARGB_PRE表示具有8位RGBA颜色分量打包到整数像素中的图像。该图像具有带alpha的DirectColorModel
。此图像中的颜色数据被认为已经与alpha预乘。- 参见:
-
TYPE_INT_BGR
public static final int TYPE_INT_BGR代表具有8位RGB颜色分量的图像,对应于Windows或Solaris风格的BGR颜色模型,颜色蓝色、绿色和红色打包到整数像素中。没有alpha通道。图像具有DirectColorModel
。当存储具有非不透明alpha的数据时,必须调整颜色数据为非预乘形式并丢弃alpha,如在AlphaComposite
文档中所述。- 参见:
-
TYPE_3BYTE_BGR
public static final int TYPE_3BYTE_BGR代表具有8位RGB颜色分量的图像,对应于Windows风格的BGR颜色模型,颜色蓝色、绿色和红色存储在3个字节中。没有alpha通道。图像具有ComponentColorModel
。当存储具有非不透明alpha的数据时,必须调整颜色数据为非预乘形式并丢弃alpha,如在AlphaComposite
文档中所述。- 参见:
-
TYPE_4BYTE_ABGR
public static final int TYPE_4BYTE_ABGR代表具有8位RGBA颜色分量的图像,颜色蓝色、绿色和红色存储在3个字节中,还有1个alpha字节。图像具有带alpha通道的ComponentColorModel
。此图像中的颜色数据被认为未与alpha预乘。字节数据以A、B、G、R的顺序交错存储在单个字节数组中,每个像素内从低到高字节地址。- 参见:
-
TYPE_4BYTE_ABGR_PRE
public static final int TYPE_4BYTE_ABGR_PRE代表具有8位RGBA颜色分量的图像,颜色蓝色、绿色和红色存储在3个字节中,还有1个alpha字节。图像具有带alpha通道的ComponentColorModel
。此图像中的颜色数据被认为已与alpha预乘。字节数据以A、B、G、R的顺序交错存储在单个字节数组中,每个像素内从低到高字节地址。- 参见:
-
TYPE_USHORT_565_RGB
public static final int TYPE_USHORT_565_RGB代表具有5-6-5 RGB颜色分量(5位红色,6位绿色,5位蓝色)的图像,没有alpha通道。此图像具有DirectColorModel
。当存储具有非不透明alpha的数据时,必须调整颜色数据为非预乘形式并丢弃alpha,如在AlphaComposite
文档中所述。- 参见:
-
TYPE_USHORT_555_RGB
public static final int TYPE_USHORT_555_RGB代表具有5-5-5 RGB颜色分量(5位红色,5位绿色,5位蓝色)的图像,没有alpha通道。此图像具有DirectColorModel
。当存储具有非不透明alpha的数据时,必须调整颜色数据为非预乘形式并丢弃alpha,如在AlphaComposite
文档中所述。- 参见:
-
TYPE_BYTE_GRAY
public static final int TYPE_BYTE_GRAY代表无符号字节灰度图像,非索引。此图像具有带CS_GRAYColorSpace
的ComponentColorModel
。当存储具有非不透明alpha的数据时,必须调整颜色数据为非预乘形式并丢弃alpha,如在AlphaComposite
文档中所述。- 参见:
-
TYPE_USHORT_GRAY
public static final int TYPE_USHORT_GRAY代表无符号短整型灰度图像,非索引。此图像具有带CS_GRAYColorSpace
的ComponentColorModel
。当存储具有非不透明alpha的数据时,必须调整颜色数据为非预乘形式并丢弃alpha,如在AlphaComposite
文档中所述。- 参见:
-
TYPE_BYTE_BINARY
public static final int TYPE_BYTE_BINARY代表不透明的字节打包1、2或4位图像。图像具有没有alpha通道的IndexColorModel
。当此类型用作BufferedImage
构造函数的imageType
参数时,但没有ColorModel
参数,将创建一个具有两种颜色({0,0,0}和{255,255,255})的默认sRGBColorSpace
中的IndexColorModel
的1位图像。每像素2或4位的图像可以通过提供具有适当映射大小的
ColorModel
的BufferedImage
构造函数来构造。每像素8位的图像应该使用图像类型
TYPE_BYTE_INDEXED
或TYPE_BYTE_GRAY
,具体取决于它们的ColorModel
。当颜色数据存储在此类型的图像中时,颜色映射表中最接近的颜色由
IndexColorModel
确定,并存储结果索引。根据IndexColorModel
颜色映射表中的颜色,可能会导致近似和丢失alpha或颜色分量。- 参见:
-
TYPE_BYTE_INDEXED
public static final int TYPE_BYTE_INDEXED代表索引字节图像。当此类型用作BufferedImage
构造函数的imageType
参数时,但没有ColorModel
参数,将创建一个具有256色6/6/6颜色立方调色板的IndexColorModel
,其余颜色从216到255由默认sRGB ColorSpace中的灰度值填充。当颜色数据存储在此类型的图像中时,颜色映射表中最接近的颜色由
IndexColorModel
确定,并存储结果索引。根据IndexColorModel
颜色映射表中的颜色,可能会导致近似和丢失alpha或颜色分量。- 参见:
-
-
Constructor Details
-
BufferedImage
public BufferedImage(int width, int height, int imageType) 构造一个预定义图像类型之一的BufferedImage
。图像的ColorSpace
为默认的sRGB空间。- 参数:
-
width
- 创建图像的宽度 -
height
- 创建图像的高度 -
imageType
- 创建图像的类型 - 参见:
-
BufferedImage
构造一个预定义图像类型之一的BufferedImage
:TYPE_BYTE_BINARY或TYPE_BYTE_INDEXED。如果图像类型为TYPE_BYTE_BINARY,则使用颜色模型中的条目数来确定图像应该每像素有1、2或4位。如果颜色模型有1或2个条目,则图像将每像素有1位。如果有3或4个条目,则图像将每像素有2位。如果有5到16个条目,则图像将每像素有4位。否则,将抛出IllegalArgumentException异常。
- 参数:
-
width
- 创建图像的宽度 -
height
- 创建图像的高度 -
imageType
- 创建图像的类型 -
cm
- 创建图像的IndexColorModel
- 抛出:
-
IllegalArgumentException
- 如果imageType不是TYPE_BYTE_BINARY或TYPE_BYTE_INDEXED,或者如果imageType是TYPE_BYTE_BINARY且颜色映射有超过16个条目。 - 参见:
-
BufferedImage
public BufferedImage(ColorModel cm, WritableRaster raster, boolean isRasterPremultiplied, Hashtable<?, ?> properties) 构造一个具有指定ColorModel
和Raster
的新BufferedImage
。如果Raster
的SampleModel
中的波段数量和类型与ColorModel
所需的用于表示其颜色和alpha分量的数量和类型不匹配,则会抛出一个RasterFormatException
。此方法可以通过alpha乘法或除法来匹配ColorModel
中的alphaPremultiplied
状态来调整颜色Raster
数据。可以通过传入String
/Object
对的Hashtable
来建立此BufferedImage
的属性。- 参数:
-
cm
- 新图像的ColorModel
-
raster
- 图像数据的Raster
-
isRasterPremultiplied
- 如果为true
,则Raster
中的数据已经与alpha预乘。 -
properties
-String
/Object
对的Hashtable
。 - 抛出:
-
RasterFormatException
- 如果Raster
的SampleModel
中的波段数量和类型与ColorModel
所需的用于表示其颜色和alpha分量的数量和类型不匹配。 -
IllegalArgumentException
- 如果raster
与cm
不兼容 - 参见:
-
-
Method Details
-
getType
public int getType()返回图像类型。如果不是已知类型之一,则返回TYPE_CUSTOM
。- 返回:
-
此
BufferedImage
的图像类型。 - 参见:
-
getColorModel
返回ColorModel
。- 指定者:
-
getColorModel
在接口RenderedImage
中 - 返回:
-
此
BufferedImage
的ColorModel
。
-
getRaster
返回WritableRaster
。- 返回:
-
此
BufferedImage
的WritableRaster
。
-
getAlphaRaster
返回一个表示BufferedImage
对象的alpha通道的WritableRaster
,对于支持单独空间alpha通道的ColorModel
对象(如ComponentColorModel
和DirectColorModel
)。如果此图像的ColorModel
没有关联的alpha通道,则返回null
。此方法假定对于除IndexColorModel
之外的所有ColorModel
对象,如果ColorModel
支持alpha,则有一个单独的alpha通道,该通道存储为图像数据的最后一个波段。如果图像使用具有查找表中alpha的IndexColorModel
,则此方法返回null
,因为没有空间离散的alpha通道。此方法创建一个新的WritableRaster
,但共享数据数组。- 返回:
-
一个
WritableRaster
或null
(如果此BufferedImage
的ColorModel
没有关联的alpha通道)。
-
getRGB
public int getRGB(int x, int y) 返回默认RGB颜色模型(TYPE_INT_ARGB)和默认sRGB颜色空间中的整数像素。如果此默认模型与图像ColorModel
不匹配,则进行颜色转换。使用此方法时,每个颜色分量仅有8位精度的返回数据。如果坐标不在边界内,则可能抛出
ArrayOutOfBoundsException
。但是,不保证显式边界检查。- 参数:
-
x
- 获取默认RGB颜色模型和sRGB颜色空间中像素的像素的X坐标 -
y
- 获取默认RGB颜色模型和sRGB颜色空间中像素的像素的Y坐标 - 返回:
- 默认RGB颜色模型和默认sRGB颜色空间中的整数像素。
- 参见:
-
getRGB
public int[] getRGB(int startX, int startY, int w, int h, int[] rgbArray, int offset, int scansize) 返回默认RGB颜色模型(TYPE_INT_ARGB)和默认sRGB颜色空间中的整数像素数组,从图像数据的一部分。如果默认模型与图像ColorModel
不匹配,则进行颜色转换。使用此方法时,每个颜色分量仅有8位精度的返回数据。使用指定的坐标(x,y)在图像中,可以这样访问ARGB像素:pixel = rgbArray[offset + (y-startY)*scansize + (x-startX)];
如果区域不在边界内,则可能抛出
ArrayOutOfBoundsException
。但是,不保证显式边界检查。- 参数:
-
startX
- 起始X坐标 -
startY
- 起始Y坐标 -
w
- 区域的宽度 -
h
- 区域的高度 -
rgbArray
- 如果不为null
,则将rgb像素写入此处 -
offset
-rgbArray
中的偏移量 -
scansize
-rgbArray
的扫描线跨度 - 返回:
- RGB像素数组。
- 参见:
-
setRGB
public void setRGB(int x, int y, int rgb) 将此BufferedImage
中的像素设置为指定的RGB值。假定像素位于默认RGB颜色模型(TYPE_INT_ARGB)和默认sRGB颜色空间中。对于具有IndexColorModel
的图像,选择最接近颜色的索引。如果坐标不在边界内,则可能抛出
ArrayOutOfBoundsException
。但是,不保证显式边界检查。- 参数:
-
x
- 要设置像素的像素的X坐标 -
y
- 要设置像素的像素的Y坐标 -
rgb
- RGB值 - 参见:
-
setRGB
public void setRGB(int startX, int startY, int w, int h, int[] rgbArray, int offset, int scansize) 将默认RGB颜色模型(TYPE_INT_ARGB)和默认sRGB颜色空间中的整数像素数组设置到图像数据的一部分。如果默认模型与图像ColorModel
不匹配,则进行颜色转换。使用此方法时,每个颜色分量仅有8位精度的返回数据。使用指定的坐标(x,y)在此图像中,可以这样访问ARGB像素:pixel = rgbArray[offset + (y-startY)*scansize + (x-startX)];
警告:不进行抖动。如果区域不在边界内,则可能抛出
ArrayOutOfBoundsException
。但是,不保证显式边界检查。- 参数:
-
startX
- 起始X坐标 -
startY
- 起始Y坐标 -
w
- 区域的宽度 -
h
- 区域的高度 -
rgbArray
- rgb像素 -
offset
-rgbArray
中的偏移量 -
scansize
-rgbArray
的扫描线跨度 - 参见:
-
getWidth
public int getWidth()返回BufferedImage
的宽度。- 指定者:
-
getWidth
在接口RenderedImage
中 - 返回:
-
此
BufferedImage
的宽度
-
getHeight
public int getHeight()返回BufferedImage
的高度。- 指定者:
-
getHeight
在接口RenderedImage
中 - 返回:
-
此
BufferedImage
的高度
-
getWidth
返回BufferedImage
的宽度。 -
getHeight
返回BufferedImage
的高度。 -
getSource
返回产生图像像素的对象。- 指定者:
-
getSource
在类Image
中 - 返回值:
-
用于生成此图像像素的
ImageProducer
。 - 参见:
-
getProperty
通过名称返回图像的属性。各种图像格式定义了各个属性名称。如果某个图像没有定义特定属性,则此方法返回UndefinedProperty
字段。如果尚未知道此图像的属性,则此方法返回null
,稍后会通知ImageObserver
对象。属性名称"comment"应用于存储可作为图像描述、来源或作者的可选注释。- 指定者:
-
getProperty
在类Image
中 - 参数:
-
name
- 属性名称 -
observer
- 接收有关图像信息的ImageObserver
- 返回值:
-
由指定
name
引用的属性的Object
,如果尚未知道此图像的属性,则返回null
。 - 抛出:
-
NullPointerException
- 如果属性名称为null。 - 参见:
-
getProperty
通过名称返回图像的属性。- 指定者:
-
getProperty
在接口RenderedImage
中 - 参数:
-
name
- 属性名称 - 返回值:
-
由指定
name
引用的Object
。 - 抛出:
-
NullPointerException
- 如果属性名称为null。 - 参见:
-
getGraphics
- 指定者:
-
getGraphics
在类Image
中 - 返回值:
-
一个
Graphics2D
,可用于绘制到此图像中。 - 参见:
-
createGraphics
创建一个Graphics2D
,可用于绘制到此BufferedImage
中。- 返回值:
-
一个
Graphics2D
,用于绘制到此图像中。
-
getSubimage
返回由指定矩形区域定义的子图像。返回的BufferedImage
与原始图像共享相同的数据数组。- 参数:
-
x
- 指定矩形区域左上角的X坐标 -
y
- 指定矩形区域左上角的Y坐标 -
w
- 指定矩形区域的宽度 -
h
- 指定矩形区域的高度 - 返回值:
-
一个
BufferedImage
,是此BufferedImage
的子图像。 - 抛出:
-
RasterFormatException
- 如果指定区域不包含在此BufferedImage
中。
-
isAlphaPremultiplied
public boolean isAlphaPremultiplied()返回alpha是否已经预乘。如果没有alpha,则返回false
。- 返回值:
-
如果alpha已经预乘,则返回
true
;否则返回false
。
-
coerceData
public void coerceData(boolean isAlphaPremultiplied) 强制数据匹配isAlphaPremultiplied
变量中指定的状态。它可能会将颜色光栅数据乘以或除以alpha,或者如果数据处于正确状态,则不执行任何操作。- 参数:
-
isAlphaPremultiplied
- 如果alpha已经预乘,则为true
;否则为false
。
-
toString
返回此BufferedImage
对象及其值的String
表示形式。 -
getSources
返回一个Vector
,其中包含为此BufferedImage
的图像数据的直接源(而不是这些直接源的源)。如果BufferedImage
没有关于其直接源的信息,则此方法返回null
。如果BufferedImage
没有直接源,则返回一个空的Vector
。- 指定者:
-
getSources
在接口RenderedImage
中 - 返回值:
-
包含此
BufferedImage
对象的图像数据的直接源的Vector
,如果此BufferedImage
没有关于其直接源的信息,则返回null
,如果此BufferedImage
没有直接源,则返回一个空的Vector
。
-
getPropertyNames
返回getProperty(String)
识别的名称数组,如果没有识别到属性名称,则返回null
。- 指定者:
-
getPropertyNames
在接口RenderedImage
中 - 返回值:
-
包含
getProperty(String)
识别的所有属性名称的String
数组;如果没有识别到属性名称,则返回null
。
-
getMinX
public int getMinX()返回此BufferedImage
的最小x坐标。这始终为零。- 指定者:
-
getMinX
在接口RenderedImage
中 - 返回值:
-
此
BufferedImage
的最小x坐标。
-
getMinY
public int getMinY()返回此BufferedImage
的最小y坐标。这始终为零。- 指定者:
-
getMinY
在接口RenderedImage
中 - 返回值:
-
此
BufferedImage
的最小y坐标。
-
getSampleModel
返回与此BufferedImage
关联的SampleModel
。- 指定者:
-
getSampleModel
在接口RenderedImage
中 - 返回值:
-
此
BufferedImage
的SampleModel
。
-
getNumXTiles
public int getNumXTiles()返回x方向上的瓦片数。这始终为一。- 指定者:
-
getNumXTiles
在接口RenderedImage
中 - 返回:
- x方向上的瓦片数。
-
getNumYTiles
public int getNumYTiles()返回y方向上的瓦片数。这总是一个。- 指定者:
-
getNumYTiles
在接口RenderedImage
中 - 返回:
- y方向上的瓦片数。
-
getMinTileX
public int getMinTileX()返回x方向上的最小瓦片索引。这总是零。- 指定者:
-
getMinTileX
在接口RenderedImage
中 - 返回:
- x方向上的最小瓦片索引。
-
getMinTileY
public int getMinTileY()返回y方向上的最小瓦片索引。这总是零。- 指定者:
-
getMinTileY
在接口RenderedImage
中 - 返回:
- y方向上的最小瓦片索引。
-
getTileWidth
public int getTileWidth()返回瓦片的像素宽度。- 指定者:
-
getTileWidth
在接口RenderedImage
中 - 返回:
- 瓦片的像素宽度。
-
getTileHeight
public int getTileHeight()返回瓦片的像素高度。- 指定者:
-
getTileHeight
在接口RenderedImage
中 - 返回:
- 瓦片的像素高度。
-
getTileGridXOffset
public int getTileGridXOffset()返回瓦片网格相对于原点的x偏移量,例如,瓦片(0, 0)的位置的x坐标。这总是零。- 指定者:
-
getTileGridXOffset
在接口RenderedImage
中 - 返回:
- 瓦片网格的x偏移量。
-
getTileGridYOffset
public int getTileGridYOffset()返回瓦片网格相对于原点的y偏移量,例如,瓦片(0, 0)的位置的y坐标。这总是零。- 指定者:
-
getTileGridYOffset
在接口RenderedImage
中 - 返回:
- 瓦片网格的y偏移量。
-
getTile
返回瓦片(tileX
,tileY
)。请注意,tileX
和tileY
是瓦片数组的索引,而不是像素位置。返回的Raster
是实时的,这意味着如果图像发生更改,它将被更新。- 指定者:
-
getTile
在接口RenderedImage
中 - 参数:
-
tileX
- 请求的瓦片在瓦片数组中的x索引 -
tileY
- 请求的瓦片在瓦片数组中的y索引 - 返回:
-
由参数
tileX
和tileY
定义的Raster
。 - 抛出:
-
ArrayIndexOutOfBoundsException
- 如果tileX
和tileY
都不等于0
-
getData
返回作为一个大瓦片的图像。返回的Raster
是图像数据的副本,如果图像发生更改,则不会更新。- 指定者:
-
getData
在接口RenderedImage
中 - 返回:
-
一个
Raster
,是图像数据的副本。 - 参见:
-
getData
计算并返回BufferedImage
的任意区域。返回的Raster
是图像数据的副本,如果图像发生更改,则不会更新。- 指定者:
-
getData
在接口RenderedImage
中 - 参数:
-
rect
- 要返回的BufferedImage
的区域。 - 返回:
-
一个
Raster
,是指定BufferedImage
区域的图像数据的副本。 - 参见:
-
copyData
计算BufferedImage
的任意矩形区域,并将其复制到指定的WritableRaster
中。要计算的区域是从指定WritableRaster
的边界确定的。指定的WritableRaster
必须具有与此图像兼容的SampleModel
。如果outRaster
为null
,则会创建一个适当的WritableRaster
。- 指定者:
-
copyData
在接口RenderedImage
中 - 参数:
-
outRaster
- 用于保存图像的返回部分的WritableRaster
,或null
- 返回:
-
对提供的或创建的
WritableRaster
的引用。
-
setData
将图像的矩形区域设置为指定Raster r
的内容,假定Raster r
与BufferedImage
在相同的坐标空间中。操作被剪切到BufferedImage
的边界。- 指定者:
-
setData
在接口WritableRenderedImage
中 - 参数:
-
r
- 指定的Raster
- 参见:
-
addTileObserver
添加一个瓦片观察者。如果观察者已经存在,则会接收多个通知。此方法忽略其参数并不执行任何操作,因为
BufferedImage
始终用于写入,不能设置为只读,因此永远不会有事件需要分派。- 指定者:
-
addTileObserver
在接口WritableRenderedImage
中 - 参数:
-
to
- 指定的TileObserver
-
removeTileObserver
移除一个瓦片观察者。如果观察者未注册,则不会发生任何操作。如果观察者已注册多个通知,则现在注册的通知将减少一个。此方法忽略给定的观察者,因为
addTileObserver(TileObserver)
不会添加任何内容。- 指定者:
-
removeTileObserver
在接口WritableRenderedImage
中 - 参数:
-
to
- 指定的TileObserver
-
isTileWritable
public boolean isTileWritable(int tileX, int tileY) 返回当前是否有一个瓦片用于写入。在BufferedImage
中,唯一的瓦片位于(0,0),并且始终可写,因此使用(0,0)调用此方法将始终返回true
,任何其他坐标将导致抛出异常。- 指定者:
-
isTileWritable
在接口WritableRenderedImage
中 - 参数:
-
tileX
- 瓦片的x索引。 -
tileY
- 瓦片的y索引。 - 返回:
-
如果由指定索引指定的瓦片用于写入,则返回
true
;否则返回false
。 - 抛出:
-
IllegalArgumentException
- 如果tileX
或tileY
不等于0
-
getWritableTileIndices
返回一个Point
对象数组,指示哪些瓦片用于写入。如果没有瓦片用于写入,则返回null
。由于
BufferedImage
由单个瓦片组成,并且该瓦片始终用于写入,因此此方法返回一个点的数组。此外,偏移量应与getMinTileX()
和getMinTileY()
保持一致,在BufferedImage
中始终为(0,0)。这将始终是单个返回的Point
的坐标。- 指定者:
-
getWritableTileIndices
在接口WritableRenderedImage
中 - 返回:
-
一个
Point
数组,指示已经检出用于写入的瓦片,如果没有瓦片用于写入,则返回null
。
-
hasTileWriters
public boolean hasTileWriters()返回是否有任何瓦片已经检出用于写入。在语义上等同于(getWritableTileIndices() != null).
- 指定者:
-
hasTileWriters
在接口WritableRenderedImage
中 - 返回:
-
如果有任何瓦片已经检出用于写入,则返回
true
;否则返回false
。
-
getWritableTile
检出一个瓦片用于写入。当一个瓦片从没有写入者到有一个写入者时,所有注册的TileObservers
都会收到通知。此方法无条件返回单个瓦片,而不检查传递的值。由于返回的瓦片始终已经检出用于写入,因此不会通知任何监听器。
- 指定者:
-
getWritableTile
在接口WritableRenderedImage
中 - 参数:
-
tileX
- 瓦片的x索引 -
tileY
- 瓦片的y索引 - 返回:
-
一个
WritableRaster
,即由指定索引指示的瓦片,用于检出用于写入。
-
releaseWritableTile
public void releaseWritableTile(int tileX, int tileY) 放弃对瓦片的写入权限。如果调用者继续写入该瓦片,则结果是未定义的。对此方法的调用应该只与对getWritableTile(int, int)
的调用成对出现。其他任何调用都会导致未定义的结果。当一个瓦片从有一个写入者到没有写入者时,所有注册的TileObservers
都会收到通知。此方法立即返回,而不检查传递的值。由于单个瓦片始终已经检出用于写入,因此不会通知任何监听器。
- 指定者:
-
releaseWritableTile
在接口WritableRenderedImage
中 - 参数:
-
tileX
- 瓦片的x索引 -
tileY
- 瓦片的y索引
-
getTransparency
public int getTransparency()返回透明度。返回值可能为OPAQUE、BITMASK或TRANSLUCENT。- 指定者:
-
getTransparency
在接口Transparency
中 - 返回:
-
此
BufferedImage
的透明度。 - 自:
- 1.5
- 参见:
-