- 所有已实现的接口:
-
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
FieldsModifier 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, UndefinedPropertyFields declared in interface java.awt.Transparency
BITMASK, OPAQUE, TRANSLUCENT -
Constructor Summary
ConstructorsConstructorDescriptionBufferedImage(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添加一个瓦片观察者。voidcoerceData(boolean isAlphaPremultiplied) 强制数据匹配isAlphaPremultiplied变量指定的状态。copyData(WritableRaster outRaster) 计算BufferedImage的任意矩形区域并将其复制到指定的WritableRaster中。创建一个Graphics2D,可用于绘制到这个BufferedImage中。返回表示BufferedImage对象的alpha通道的WritableRaster,对于支持单独空间alpha通道的ColorModel对象,如ComponentColorModel和DirectColorModel。返回ColorModel。getData()将图像作为一个大瓦片返回。计算并返回BufferedImage的任意区域。此方法返回一个Graphics2D,但这里是为了向后兼容。int返回BufferedImage的高度。intgetHeight(ImageObserver observer) 返回BufferedImage的高度。int返回x方向上的最小瓦片索引。int返回y方向上的最小瓦片索引。intgetMinX()返回此BufferedImage的最小x坐标。intgetMinY()返回此BufferedImage的最小y坐标。int返回x方向上的瓦片数量。int返回y方向上的瓦片数量。getProperty(String name) 通过名称返回图像的属性。getProperty(String name, ImageObserver observer) 通过名称返回图像的属性。String[]返回由getProperty(String)识别的名称数组,如果不识别任何属性名称,则返回null。返回WritableRaster。intgetRGB(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返回透明度。intgetType()返回图像类型。intgetWidth()返回BufferedImage的宽度。intgetWidth(ImageObserver observer) 返回BufferedImage的宽度。getWritableTile(int tileX, int tileY) 检出一个可写的瓦片。Point[]返回一个Point对象数组,指示哪些瓦片已经检出以进行写入。boolean返回是否有任何瓦片已经检出以进行写入。boolean返回alpha是否已经预乘。booleanisTileWritable(int tileX, int tileY) 返回当前是否有瓦片已经检出以进行写入。voidreleaseWritableTile(int tileX, int tileY) 放弃对一个瓦片的写入权限。void移除一个瓦片观察者。void将图像的矩形区域设置为指定Raster r的内容,假定Raster与BufferedImage在相同的坐标空间中。voidsetRGB(int x, int y, int rgb) 将此BufferedImage中的像素设置为指定的RGB值。voidsetRGB(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
- 参见:
-