- java.lang.Object
-
- java.awt.Image
-
- java.awt.image.BufferedImage
-
- 实现的所有接口
-
RenderedImage
,WritableRenderedImage
,Transparency
public class BufferedImage extends Image implements WritableRenderedImage, Transparency
BufferedImage
子类描述了具有可访问的图像数据缓冲区的Image
。BufferedImage
由ColorModel
和Raster
的图像数据组成。 Raster的SampleModel
中的Raster
数量和类型必须与ColorModel
所需的数量和类型相匹配,以表示其颜色和alpha分量。 所有BufferedImage
对象的左上角坐标为(0,0)。Raster
用于构造BufferedImage
任何Raster
必须具有minX = 0和minY = 0。这个类依赖的数据获取和设置方法
Raster
,并在颜色表征方法ColorModel
。- 另请参见:
-
ColorModel
,Raster
,WritableRaster
-
-
字段汇总
字段 变量和类型 字段 描述 static int
TYPE_3BYTE_BGR
表示具有8位RGB颜色分量的图像,对应于Windows样式的BGR颜色模型,其中颜色为蓝色,绿色和红色,以3个字节存储。static int
TYPE_4BYTE_ABGR
表示具有8位RGBA颜色分量的图像,其中颜色为蓝色,绿色和红色,存储在3个字节和1个字节的alpha中。static int
TYPE_4BYTE_ABGR_PRE
表示具有8位RGBA颜色分量的图像,其中颜色为蓝色,绿色和红色,存储在3个字节和1个字节的alpha中。static int
TYPE_BYTE_BINARY
表示不透明的字节打包的1,2或4位图像。static int
TYPE_BYTE_GRAY
表示无索引的无符号字节灰度图像。static int
TYPE_BYTE_INDEXED
表示索引的字节图像。static int
TYPE_CUSTOM
图像类型无法识别,因此必须是自定义图像。static int
TYPE_INT_ARGB
表示将8位RGBA颜色分量打包为整数像素的图像。static int
TYPE_INT_ARGB_PRE
表示将8位RGBA颜色分量打包为整数像素的图像。static int
TYPE_INT_BGR
表示具有8位RGB颜色分量的图像,对应于Windows或Solaris样式的BGR颜色模型,蓝色,绿色和红色填充为整数像素。static int
TYPE_INT_RGB
表示将8位RGB颜色分量打包为整数像素的图像。static int
TYPE_USHORT_555_RGB
表示具有5-5-5 RGB颜色分量(5位红色,5位绿色,5位蓝色)且没有alpha的图像。static int
TYPE_USHORT_565_RGB
表示具有5-6-5 RGB颜色分量(5位红色,6位绿色,5位蓝色)且没有alpha的图像。static int
TYPE_USHORT_GRAY
表示未签名的短灰度图像,非索引)。-
声明的属性在类 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
-
-
构造方法摘要
构造方法 构造器 描述 BufferedImage(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)
构造一个新的BufferedImage
具有指定ColorModel
和Raster
。
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 void
addTileObserver(TileObserver to)
添加tile观察器。void
coerceData(boolean isAlphaPremultiplied)
强制数据与isAlphaPremultiplied
变量中指定的状态匹配。WritableRaster
copyData(WritableRaster outRaster)
计算BufferedImage
的任意矩形区域并将其复制到指定的WritableRaster
。Graphics2D
createGraphics()
创建一个Graphics2D
,可用于绘制此BufferedImage
。WritableRaster
getAlphaRaster()
返回WritableRaster
表示BufferedImage
对象的alpha通道,其中ColorModel
对象支持单独的空间Alpha通道,例如ComponentColorModel
和DirectColorModel
。ColorModel
getColorModel()
返回ColorModel
。Raster
getData()
将图像作为一个大图块返回。Raster
getData(Rectangle rect)
计算并返回BufferedImage
的任意区域。Graphics
getGraphics()
此方法返回Graphics2D
,但此处是为了向后兼容。int
getHeight()
返回BufferedImage
的高度。int
getHeight(ImageObserver observer)
返回BufferedImage
的高度。int
getMinTileX()
返回x方向上的最小tile索引。int
getMinTileY()
返回y方向上的最小tile索引。int
getMinX()
返回此BufferedImage
的最小x坐标。int
getMinY()
返回此BufferedImage
的最小y坐标。int
getNumXTiles()
返回x方向上的tile数。int
getNumYTiles()
返回y方向上的tile数。Object
getProperty(String name)
按名称返回图像的属性。Object
getProperty(String name, ImageObserver observer)
按名称返回图像的属性。String[]
getPropertyNames()
如果未识别属性名称,则返回由getProperty(String)
或null
识别的名称数组。WritableRaster
getRaster()
返回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颜色空间中的整数像素数组。SampleModel
getSampleModel()
返回与SampleModel
相关联的BufferedImage
。ImageProducer
getSource()
返回生成图像像素的对象。Vector<RenderedImage>
getSources()
返回Vector
的RenderedImage
个对象,这些对象是此BufferedImage
的图像数据的直接来源,而不是这些直接来源的来源。BufferedImage
getSubimage(int x, int y, int w, int h)
返回由指定矩形区域定义的子图像。Raster
getTile(int tileX, int tileY)
返回瓦(tileX
,tileY
)。int
getTileGridXOffset()
返回tile网格相对于原点的x偏移量,例如tile(0,0)位置的x坐标。int
getTileGridYOffset()
返回tile网格相对于原点的y偏移量,例如tile(0,0)位置的y坐标。int
getTileHeight()
返回tile高度(以像素为单位)。int
getTileWidth()
返回tile宽度(以像素为单位)。int
getTransparency()
返回透明度。int
getType()
返回图像类型。int
getWidth()
返回BufferedImage
的宽度。int
getWidth(ImageObserver observer)
返回BufferedImage
的宽度。WritableRaster
getWritableTile(int tileX, int tileY)
检查一块瓷砖进行书写。Point[]
getWritableTileIndices()
返回一个Point
个对象的数组,指示要检出哪些切片以进行写入。boolean
hasTileWriters()
返回是否签出任何图块以进行写入。boolean
isAlphaPremultiplied()
返回alpha是否已被预乘。boolean
isTileWritable(int tileX, int tileY)
返回当前是否已检出tile以进行写入。void
releaseWritableTile(int tileX, int tileY)
放弃写入磁贴的权限。void
removeTileObserver(TileObserver to)
删除tile观察者。void
setData(Raster r)
将图像的矩形区域设置为指定的Raster r
的内容,假定该区域与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颜色空间中的整数像素数组设置为图像数据的一部分。String
toString()
返回此BufferedImage
对象及其值的String
表示形式。-
声明方法的类 java.awt.Image
flush, getAccelerationPriority, getCapabilities, getScaledInstance, setAccelerationPriority
-
-
-
-
字段详细信息
-
TYPE_CUSTOM
public static final int TYPE_CUSTOM
图像类型无法识别,因此必须是自定义图像。 此类型仅用作getType()方法的返回值。- 另请参见:
- 常数字段值
-
TYPE_INT_RGB
public static final int TYPE_INT_RGB
表示将8位RGB颜色分量打包为整数像素的图像。 该图像有DirectColorModel
没有alpha。 当具有非不透明alpha的数据存储在此类型的图像中时,必须将颜色数据调整为非预乘形式并丢弃alpha,如AlphaComposite
文档中所述。- 另请参见:
- 常数字段值
-
TYPE_INT_ARGB
public static final int TYPE_INT_ARGB
表示将8位RGBA颜色分量打包为整数像素的图像。 该图像有一个DirectColorModel
与alpha。 该图像中的颜色数据被认为不与alpha预乘。 当此类型用作BufferedImage
构造函数的imageType
参数时,创建的映像与在JDK1.1和早期版本中创建的映像一致。- 另请参见:
- 常数字段值
-
TYPE_INT_ARGB_PRE
public static final int TYPE_INT_ARGB_PRE
表示将8位RGBA颜色分量打包为整数像素的图像。 该图像有一个DirectColorModel
alpha。 该图像中的颜色数据被认为是与alpha预乘的。- 另请参见:
- 常数字段值
-
TYPE_INT_BGR
public static final int TYPE_INT_BGR
表示具有8位RGB颜色分量的图像,对应于Windows或Solaris样式的BGR颜色模型,蓝色,绿色和红色填充为整数像素。 没有阿尔法。 图片有DirectColorModel
。 当具有非不透明alpha的数据存储在此类型的图像中时,必须将颜色数据调整为非预乘形式并丢弃alpha,如AlphaComposite
文档中所述。- 另请参见:
- 常数字段值
-
TYPE_3BYTE_BGR
public static final int TYPE_3BYTE_BGR
表示具有8位RGB颜色分量的图像,对应于Windows样式的BGR颜色模型,其中颜色为蓝色,绿色和红色,以3个字节存储。 没有阿尔法。 图片有ComponentColorModel
。 当具有非不透明alpha的数据存储在此类型的图像中时,必须将颜色数据调整为非预乘形式并丢弃alpha,如AlphaComposite
文档中所述。- 另请参见:
- 常数字段值
-
TYPE_4BYTE_ABGR
public static final int TYPE_4BYTE_ABGR
表示具有8位RGBA颜色分量的图像,其中颜色为蓝色,绿色和红色,存储在3个字节和1个字节的alpha中。 该图像有一个ComponentColorModel
alpha。 该图像中的颜色数据被认为不与alpha预乘。 字节数据在A,B,G,R的单个字节数组中从每个像素内的较低字节地址到较高字节地址交错。- 另请参见:
- 常数字段值
-
TYPE_4BYTE_ABGR_PRE
public static final int TYPE_4BYTE_ABGR_PRE
表示具有8位RGBA颜色分量的图像,其中颜色为蓝色,绿色和红色,存储在3个字节和1个字节的alpha中。 该图像有一个ComponentColorModel
alpha。 该图像中的颜色数据被认为是与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
表示无索引的无符号字节灰度图像。 此图片的ComponentColorModel
与CS_GRAYColorSpace
。 当具有非不透明alpha的数据存储在此类型的图像中时,必须将颜色数据调整为非预乘形式并丢弃alpha,如AlphaComposite
文档中所述。- 另请参见:
- 常数字段值
-
TYPE_USHORT_GRAY
public static final int TYPE_USHORT_GRAY
表示未签名的短灰度图像,非索引)。 此图片的ComponentColorModel
与CS_GRAYColorSpace
。 当具有非不透明alpha的数据存储在此类型的图像中时,必须将颜色数据调整为非预乘形式并丢弃alpha,如AlphaComposite
文档中所述。- 另请参见:
- 常数字段值
-
TYPE_BYTE_BINARY
public static final int TYPE_BYTE_BINARY
表示不透明的字节打包的1,2或4位图像。 该图像的IndexColorModel
没有alpha。 当这种类型的被用作imageType
参数传递给BufferedImage
构造函数的imageType
参数,但没有ColorModel
参数,一个1比特的图像与一个创建IndexColorModel
在默认两种颜色的sRGBColorSpace
{0,0,0}和: {255,255,255}。可以通过
BufferedImage
构造函数构造每像素2或4位的图像,该构造函数通过提供具有适当映射大小的ColorModel
获取ColorModel
参数。每像素8位的图像应使用图像类型
TYPE_BYTE_INDEXED
或TYPE_BYTE_GRAY
具体取决于其ColorModel
。当颜色数据存储在此类型的图像中时,颜色图中最接近的颜色由
IndexColorModel
确定,并存储结果索引。 根据IndexColorModel
色彩图中的颜色,可能会导致alpha或颜色分量的逼近和丢失。- 另请参见:
- 常数字段值
-
TYPE_BYTE_INDEXED
public static final int TYPE_BYTE_INDEXED
表示索引的字节图像。 当这种类型的被用作imageType
参数传递给BufferedImage
构造函数的imageType
参数,但没有ColorModel
参数,一个IndexColorModel
与和颜色从216-255其余部分的256色6/6/6颜色立方体调色板创建由默认sRGB ColorSpace中的灰度值填充。当颜色数据存储在此类型的图像中时,颜色图中最接近的颜色由
IndexColorModel
确定,并存储生成的索引。 根据IndexColorModel
色彩映射中的颜色,可能会导致alpha或颜色分量的逼近和丢失。- 另请参见:
- 常数字段值
-
-
构造方法详细信息
-
BufferedImage
public BufferedImage(int width, int height, int imageType)
构造其中一个预定义图像类型的BufferedImage
。 图像的ColorSpace
是默认的sRGB空间。- 参数
-
width
- 创建图像的宽度 -
height
- 创建的图像的高度 -
imageType
- 创建的图像的类型 - 另请参见:
-
ColorSpace
,TYPE_INT_RGB
,TYPE_INT_ARGB
,TYPE_INT_ARGB_PRE
,TYPE_INT_BGR
,TYPE_3BYTE_BGR
,TYPE_4BYTE_ABGR
,TYPE_4BYTE_ABGR_PRE
,TYPE_BYTE_GRAY
,TYPE_USHORT_GRAY
,TYPE_BYTE_BINARY
,TYPE_BYTE_INDEXED
,TYPE_USHORT_565_RGB
,TYPE_USHORT_555_RGB
-
BufferedImage
public BufferedImage(int width, int height, int imageType, IndexColorModel cm)
构造一个预定义图像类型之一的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个。 - 另请参见:
-
TYPE_BYTE_BINARY
,TYPE_BYTE_INDEXED
-
BufferedImage
public BufferedImage(ColorModel cm, WritableRaster raster, boolean isRasterPremultiplied, Hashtable<?,?> properties)
构造一个新的BufferedImage
具有指定ColorModel
和Raster
。 如果SampleModel
中的Raster
数量和类型与ColorModel
表示其颜色和alpha分量所需的数量和类型不匹配,则抛出RasterFormatException
。 这种方法可以乘或除的颜色Raster
通过阿尔法数据到匹配alphaPremultiplied
状态在ColorModel
。 这个BufferedImage
属性可以通过传递String/Object对String
Object
。- 参数
-
cm
-ColorModel
获取新图像 -
raster
-Raster
用于图像数据 -
isRasterPremultiplied
- 如果是true
,则栅格中的数据已与alpha预乘。 -
properties
-Hashtable
的String
/Object
对。 - 异常
-
RasterFormatException
- 如果SampleModel
中的Raster
数量和类型与ColorModel
所需的数量和类型不匹配,则表示其颜色和alpha分量。 -
IllegalArgumentException
- 如果raster
与cm
不兼容 - 另请参见:
-
ColorModel
,Raster
,WritableRaster
-
-
方法详细信息
-
getType
public int getType()
返回图像类型。 如果它不是已知类型之一,则返回TYPE_CUSTOM。- 结果
-
这个
BufferedImage
的图像类型。 - 另请参见:
-
TYPE_INT_RGB
,TYPE_INT_ARGB
,TYPE_INT_ARGB_PRE
,TYPE_INT_BGR
,TYPE_3BYTE_BGR
,TYPE_4BYTE_ABGR
,TYPE_4BYTE_ABGR_PRE
,TYPE_BYTE_GRAY
,TYPE_BYTE_BINARY
,TYPE_BYTE_INDEXED
,TYPE_USHORT_GRAY
,TYPE_USHORT_565_RGB
,TYPE_USHORT_555_RGB
,TYPE_CUSTOM
-
getColorModel
public ColorModel getColorModel()
返回ColorModel
。- Specified by:
-
getColorModel
在界面RenderedImage
- 结果
-
ColorModel
的BufferedImage
。
-
getRaster
public WritableRaster getRaster()
返回WritableRaster
。- 结果
-
WritableRaster
的BufferedImage
。
-
getAlphaRaster
public WritableRaster getAlphaRaster()
返回WritableRaster
表示BufferedImage
对象的Alpha通道,其中ColorModel
对象支持单独的空间Alpha通道,例如ComponentColorModel
和DirectColorModel
。 如果此图像中没有与ColorModel
关联的Alpha通道,则返回null
。 此方法假设所有ColorModel
比其他对象IndexColorModel
,如果ColorModel
支持alpha,存在被存储为图像数据的最后一个频带的单独alpha通道。 如果图像使用查找表中具有alpha的IndexColorModel
,则此方法返回null
因为没有空间离散的alpha通道。 此方法创建一个新的WritableRaster
,但共享数据数组。- 结果
-
一个
WritableRaster
或null
如果此BufferedImage
具有与其相关联的alpha通道ColorModel
。
-
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颜色空间。
- 另请参见:
-
setRGB(int, int, int)
,setRGB(int, int, int, int, int[], int, int)
-
getRGB
public int[] getRGB(int startX, int startY, int w, int h, int[] rgbArray, int offset, int scansize)
从图像数据的一部分返回默认RGB颜色模型(TYPE_INT_ARGB)和默认sRGB颜色空间中的整数像素数组。 如果默认模型与图像ColorModel
不匹配,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(int, int, int)
,setRGB(int, int, int, int, int[], int, int)
-
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值 - 另请参见:
-
getRGB(int, int)
,getRGB(int, int, int, int, int[], int, int)
-
setRGB
public void setRGB(int startX, int startY, int w, int h, int[] rgbArray, int offset, int scansize)
将默认RGB颜色模型(TYPE_INT_ARGB)和默认sRGB颜色空间中的整数像素数组设置为图像数据的一部分。 如果默认模型与图像ColorModel
不匹配,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
- 另请参见:
-
getRGB(int, int)
,getRGB(int, int, int, int, int[], int, int)
-
getWidth
public int getWidth()
返回BufferedImage
的宽度。- Specified by:
-
getWidth
在界面RenderedImage
- 结果
-
这个宽度
BufferedImage
-
getHeight
public int getHeight()
返回BufferedImage
的高度。- Specified by:
-
getHeight
接口RenderedImage
- 结果
-
这个高度
BufferedImage
-
getWidth
public int getWidth(ImageObserver observer)
返回BufferedImage
的宽度。- Specified by:
-
getWidth
类Image
- 参数
-
observer
- 被忽略 - 结果
-
这个宽度
BufferedImage
- 另请参见:
-
Image.getHeight(java.awt.image.ImageObserver)
,ImageObserver
-
getHeight
public int getHeight(ImageObserver observer)
返回BufferedImage
的高度。- Specified by:
-
getHeight
在课程Image
- 参数
-
observer
- 被忽略了 - 结果
-
这个高度
BufferedImage
- 另请参见:
-
Image.getWidth(java.awt.image.ImageObserver)
,ImageObserver
-
getSource
public ImageProducer getSource()
返回生成图像像素的对象。- Specified by:
-
getSource
类Image
- 结果
-
ImageProducer
用于生成此图像的像素。 - 另请参见:
-
ImageProducer
-
getProperty
public Object getProperty(String name, ImageObserver observer)
按名称返回图像的属性。 各个属性名称由各种图像格式定义。 如果未为特定图像定义属性,则此方法返回UndefinedProperty
字段。 如果尚未知道此图像的属性,则此方法返回null
,ImageObserver
会通知ImageObserver
对象。 属性名称“comment”应该用于存储可选的注释,该注释可以作为图像,其源或作者的描述呈现给用户。- Specified by:
-
getProperty
类Image
- 参数
-
name
- 房产名称 -
observer
- 接收有关图像信息的通知的ImageObserver
- 结果
-
Object
,如果此图像的属性name
null
则为指定的name
或null
的属性。 - 异常
-
NullPointerException
- 如果属性名称为null。 - 另请参见:
-
ImageObserver
,Image.UndefinedProperty
-
getProperty
public Object getProperty(String name)
按名称返回图像的属性。- Specified by:
-
getProperty
接口RenderedImage
- 参数
-
name
- 房产名称 - 结果
-
Object
,这是指定的name
所指的财产。 - 异常
-
NullPointerException
- 如果属性名称为null。 - 另请参见:
-
Image.UndefinedProperty
-
getGraphics
public Graphics getGraphics()
此方法返回Graphics2D
,但此处是为了向后兼容。createGraphics
更方便,因为它被声明返回Graphics2D
。- Specified by:
-
getGraphics
类Image
- 结果
-
a
Graphics2D
,可用于绘制此图像。 - 另请参见:
-
Graphics
,Component.createImage(int, int)
-
createGraphics
public Graphics2D createGraphics()
创建一个Graphics2D
,可用于绘制此BufferedImage
。- 结果
-
a
Graphics2D
,用于绘制到这个图像。
-
getSubimage
public BufferedImage getSubimage(int x, int y, int w, int h)
返回由指定矩形区域定义的子图像。 返回的BufferedImage
与原始映像共享相同的数据数组。- 参数
-
x
- 指定矩形区域左上角的X坐标 -
y
- 指定矩形区域左上角的Y坐标 -
w
- 指定矩形区域的宽度 -
h
- 指定矩形区域的高度 - 结果
-
BufferedImage
是这个BufferedImage
的子图像。 - 异常
-
RasterFormatException
- 如果指定的区域未包含在此BufferedImage
。
-
isAlphaPremultiplied
public boolean isAlphaPremultiplied()
返回alpha是否已被预乘。 如果没有alpha,则返回false
。- 结果
-
true
如果alpha已被预乘; 否则为false
。
-
coerceData
public void coerceData(boolean isAlphaPremultiplied)
强制数据与isAlphaPremultiplied
变量中指定的状态匹配。 它可以将颜色栅格数据乘以或除以alpha,或者如果数据处于正确状态则不执行任何操作。- 参数
-
isAlphaPremultiplied
-true
如果alpha已被预乘; 否则为false
。
-
toString
public String toString()
返回此BufferedImage
对象及其值的String
表示形式。
-
getSources
public Vector<RenderedImage> getSources()
返回Vector
的RenderedImage
个对象,这些对象是此BufferedImage
的图像数据的直接来源,而不是这些直接来源的来源。 如果BufferedImage
没有关于其直接来源的信息,则此方法返回null
。 如果BufferedImage
没有直接来源,则返回空Vector
。- Specified by:
-
getSources
接口RenderedImage
- 结果
-
一个
Vector
包含此的直接来源BufferedImage
对象的图像的日期,或null
如果此BufferedImage
没有关于其直接来源,或空信息Vector
如果此BufferedImage
没有直接来源。
-
getPropertyNames
public String[] getPropertyNames()
如果未识别属性名称,则返回由getProperty(String)
或null
识别的名称数组。- Specified by:
-
getPropertyNames
接口RenderedImage
- 结果
-
包含
getProperty(String)
识别的所有属性名称的String
数组; 如果没有识别出属性名称,null
。
-
getMinX
public int getMinX()
返回此BufferedImage
的最小x坐标。 这始终为零。- Specified by:
-
getMinX
接口RenderedImage
- 结果
-
此
BufferedImage
的最小x坐标。
-
getMinY
public int getMinY()
返回此BufferedImage
的最小y坐标。 这始终为零。- Specified by:
-
getMinY
在界面RenderedImage
- 结果
-
此
BufferedImage
的最小y坐标。
-
getSampleModel
public SampleModel getSampleModel()
返回SampleModel
与此相关BufferedImage
。- Specified by:
-
getSampleModel
在界面RenderedImage
- 结果
-
SampleModel
这个BufferedImage
。
-
getNumXTiles
public int getNumXTiles()
返回x方向上的tile数。 这总是一个。- Specified by:
-
getNumXTiles
接口RenderedImage
- 结果
- x方向上的瓦片数量。
-
getNumYTiles
public int getNumYTiles()
返回y方向上的tile数。 这总是一个。- Specified by:
-
getNumYTiles
接口RenderedImage
- 结果
- y方向上的瓦片数量。
-
getMinTileX
public int getMinTileX()
返回x方向上的最小tile索引。 这始终为零。- Specified by:
-
getMinTileX
在界面RenderedImage
- 结果
- x方向上的最小tile索引。
-
getMinTileY
public int getMinTileY()
返回y方向上的最小tile索引。 这始终为零。- Specified by:
-
getMinTileY
接口RenderedImage
- 结果
- y方向上的最小tile索引。
-
getTileWidth
public int getTileWidth()
返回tile宽度(以像素为单位)。- Specified by:
-
getTileWidth
在接口RenderedImage
- 结果
- 平铺宽度(以像素为单位)
-
getTileHeight
public int getTileHeight()
返回tile高度(以像素为单位)。- Specified by:
-
getTileHeight
接口RenderedImage
- 结果
- 平铺高度(以像素为单位)
-
getTileGridXOffset
public int getTileGridXOffset()
返回tile网格相对于原点的x偏移量,例如tile(0,0)位置的x坐标。 这始终为零。- Specified by:
-
getTileGridXOffset
在界面RenderedImage
- 结果
- 图块网格的x偏移量。
-
getTileGridYOffset
public int getTileGridYOffset()
返回tile网格相对于原点的y偏移量,例如tile(0,0)位置的y坐标。 这始终为零。- Specified by:
-
getTileGridYOffset
在界面RenderedImage
- 结果
- tile网格的y偏移量。
-
getTile
public Raster getTile(int tileX, int tileY)
返回瓦(tileX
,tileY
)。 请注意,tileX
和tileY
是tile数组的索引,而不是像素位置。 返回的Raster
是实时的,这意味着如果图像被更改,它将被更新。- Specified by:
-
getTile
接口RenderedImage
- 参数
-
tileX
- tile数组中请求的tile的x索引 -
tileY
- 切片阵列中请求的切片的y索引 - 结果
-
Raster
,它是由参数tileX
和tileY
定义的tileX
tileY
。 - 异常
-
ArrayIndexOutOfBoundsException
- 如果tileX
和tileY
均不等于0
-
getData
public Raster getData()
将图像作为一个大图块返回。 如果图像被更改,Raster
返回的Raster
是图像数据的副本未更新。- Specified by:
-
getData
在接口RenderedImage
- 结果
-
a
Raster
,它是图像数据的副本。 - 另请参见:
-
setData(Raster)
-
getData
public Raster getData(Rectangle rect)
计算并返回BufferedImage
的任意区域。 返回的Raster
是图像数据的副本,如果图像已更改,则不会更新。- Specified by:
-
getData
在界面RenderedImage
- 参数
-
rect
- 待返回的地区BufferedImage
。 - 结果
-
a
Raster
,它是Raster
指定区域的图像数据的BufferedImage
- 另请参见:
-
setData(Raster)
-
copyData
public WritableRaster copyData(WritableRaster outRaster)
计算BufferedImage
的任意矩形区域并将其复制到指定的WritableRaster
。 要计算的区域由指定的WritableRaster
的边界确定。 指定的WritableRaster
必须具有与此映像兼容的SampleModel
。 如果outRaster
是null
,则创建适当的WritableRaster
。- Specified by:
-
copyData
接口RenderedImage
- 参数
-
outRaster
-一个WritableRaster
保存图像返回部分,或null
- 结果
-
对提供或创建的
WritableRaster
。
-
setData
public void setData(Raster r)
将图像的矩形区域设置为指定的Raster r
的内容,假定其与BufferedImage
位于相同的坐标空间中。 该操作被剪切到BufferedImage
的边界。- Specified by:
-
setData
在界面WritableRenderedImage
- 参数
-
r
- 指定的Raster
- 另请参见:
-
getData()
,getData(Rectangle)
-
addTileObserver
public void addTileObserver(TileObserver to)
添加tile观察器。 如果观察者已经存在,则会收到多个通知。- Specified by:
-
addTileObserver
接口WritableRenderedImage
- 参数
-
to
- 指定的TileObserver
-
removeTileObserver
public void removeTileObserver(TileObserver to)
删除tile观察者。 如果观察员没有注册,则没有任何反应。 如果观察者已注册多个通知,则现在注册的通知少一个。- Specified by:
-
removeTileObserver
在界面WritableRenderedImage
- 参数
-
to
- 指定的TileObserver
。
-
isTileWritable
public boolean isTileWritable(int tileX, int tileY)
返回当前是否已检出tile以进行写入。- Specified by:
-
isTileWritable
接口WritableRenderedImage
- 参数
-
tileX
-tileX
的x索引。 -
tileY
-tileY
的y索引。 - 结果
-
true
如果指定索引指定的true
贴已签出用于写入; 否则为false
。 - 异常
-
ArrayIndexOutOfBoundsException
- 如果tileX
和tileY
都不等于0
-
getWritableTileIndices
public Point[] getWritableTileIndices()
返回一个Point
个对象的数组,指示要检出哪些切片以进行写入。 如果没有签出,则返回null
。- Specified by:
-
getWritableTileIndices
接口WritableRenderedImage
- 结果
-
一个
Point
数组,用于指示已签出用于写入的null
如果没有null
出用于写入的切片,null
。
-
hasTileWriters
public boolean hasTileWriters()
返回是否签出任何图块以进行写入。 在语义上相当于(getWritableTileIndices() != null).
- Specified by:
-
hasTileWriters
接口WritableRenderedImage
- 结果
-
true
如果有任何瓷砖被签出以供写入; 否则为false
。
-
getWritableTile
public WritableRaster getWritableTile(int tileX, int tileY)
检查一块瓷砖进行书写。 当一个TileObservers
贴从没有编写器变为拥有一个写入器时,通知所有已注册的TileObservers
。- Specified by:
-
getWritableTile
接口WritableRenderedImage
- 参数
-
tileX
-tileX
的x索引 -
tileY
-tileY
的y索引 - 结果
-
一个
WritableRaster
,它是由指定索引指示的WritableRaster
贴,用于检出以进行写入。
-
releaseWritableTile
public void releaseWritableTile(int tileX, int tileY)
放弃写入磁贴的权限。 如果调用者继续写入磁贴,则结果未定义。 对此方法的调用应仅出现在调用getWritableTile(int, int)
的匹配对中。 任何其他导致未定义的结果。 当一个TileObservers
贴从一个写入器变为没有写入器时,所有已注册的TileObservers
收到通知。- Specified by:
-
releaseWritableTile
在界面WritableRenderedImage
- 参数
-
tileX
-tileX
的x索引 -
tileY
-tileY
的y索引
-
getTransparency
public int getTransparency()
返回透明度。 返回OPAQUE,BITMASK或TRANSLUCENT。- Specified by:
-
getTransparency
在界面Transparency
- 结果
-
这个
BufferedImage
的透明度。 - 从以下版本开始:
- 1.5
- 另请参见:
-
Transparency.OPAQUE
,Transparency.BITMASK
,Transparency.TRANSLUCENT
-
-