所有类


java.awt.image
类 BufferedImage

java.lang.Object
  继承者 java.awt.Image
      继承者 java.awt.image.BufferedImage
所有已实现的接口:
RenderedImage, WritableRenderedImage, Transparency

public class BufferedImage
   
   
   
   
   
extends Image
implements WritableRenderedImage, Transparency

BufferedImage 子类描述具有可访问图像数据缓冲区的 ImageBufferedImage 由图像数据的 ColorModelRaster 组成。RasterSampleModel 中 band 的数量和类型必须与 ColorModel 所要求的数量和类型相匹配,以表示其颜色和 alpha 分量。所有 BufferedImage 对象的左上角坐标都为 (0, 0)。因此,用来构造 BufferedImage 的任何 Raster 都必须满足:minX=0 且 minY=0。

此类依靠 Raster 的数据获取和设置方法,以及 ColorModel 的颜色特征化方法。

另请参见:
ColorModel, Raster, WritableRaster

字段摘要
static intTYPE_3BYTE_BGR
          表示一个具有 8 位 RGB 颜色分量的图像,对应于 Windows 风格的 BGR 颜色模型,具有用 3 字节存储的 Blue、Green 和 Red 三种颜色。
static intTYPE_4BYTE_ABGR
          表示一个具有 8 位 RGBA 颜色分量的图像,具有用 3 字节存储的 Blue、Green 和 Red 颜色以及 1 字节的 alpha。
static intTYPE_4BYTE_ABGR_PRE
          表示一个具有 8 位 RGBA 颜色分量的图像,具有用 3 字节存储的 Blue、Green 和 Red 颜色以及 1 字节的 alpha。
static intTYPE_BYTE_BINARY
          表示一个不透明的以字节打包的 1、2 或 4 位图像。
static intTYPE_BYTE_GRAY
          表示无符号 byte 灰度级图像(无索引)。
static intTYPE_BYTE_INDEXED
          表示带索引的字节图像。
static intTYPE_CUSTOM
          没有识别出图像类型,因此它必定是一个自定义图像。
static intTYPE_INT_ARGB
          表示一个图像,该图像具有打包成整数像素的 8 位 RGBA 颜色分量。
static intTYPE_INT_ARGB_PRE
          表示一个图像,该图像具有打包成整数像素的 8 位 RGBA 颜色分量。
static intTYPE_INT_BGR
          表示一个具有 8 位 RGB 颜色分量的图像,对应于 Windows 或 Solaris 风格的 BGR 颜色模型,具有打包为整数像素的 Blue、Green 和 Red 三种颜色。
static intTYPE_INT_RGB
          表示一个图像,该图像具有打包成整数像素的 8 位 RGB 颜色分量。
static intTYPE_USHORT_555_RGB
          表示一个具有 5-5-5 RGB 颜色分量(5 位 red、5 位 green、5 位 blue)的图像,不带 alpha。
static intTYPE_USHORT_565_RGB
          表示一个具有 5-6-5 RGB 颜色分量(5 位 red、6 位 green、5 位 blue)的图像,不带 alpha。
static intTYPE_USHORT_GRAY
          表示一个无符号 short 灰度级图像(无索引)。
 
从类 java.awt.Image 继承的字段
accelerationPriority, SCALE_AREA_AVERAGING, SCALE_DEFAULT, SCALE_FAST, SCALE_REPLICATE, SCALE_SMOOTH, UndefinedProperty
 
从接口 java.awt.Transparency 继承的字段
BITMASK, OPAQUE, TRANSLUCENT
 
构造方法摘要
BufferedImage(ColorModel cm, WritableRaster raster, boolean isRasterPremultiplied, Hashtable<?,?> properties)
          构造一个具有指定 ColorModelRaster 的新 BufferedImage
BufferedImage(int width, int height, int imageType)
          构造一个类型为预定义图像类型之一的 BufferedImage
BufferedImage(int width, int height, int imageType, IndexColorModel cm)
          构造一个类型为预定义图像类型之一的 BufferedImage:TYPE_BYTE_BINARY 或 TYPE_BYTE_INDEXED。
 
方法摘要
 voidaddTileObserver(TileObserver to)
          添加一个 tile observer。
 voidcoerceData(boolean isAlphaPremultiplied)
          强制该数据与 isAlphaPremultiplied 变量中指定的状态相匹配。
 WritableRastercopyData(WritableRaster outRaster)
          计算 BufferedImage 的一个任意的矩形区域,并将其复制到指定的 WritableRaster
 Graphics2DcreateGraphics()
          创建一个 Graphics2D,可以将它绘制到此 BufferedImage 中。
 voidflush()
          刷新所有正用于缓存优化信息的资源。
 WritableRastergetAlphaRaster()
          返回一个 WritableRaster,它使用支持单独空间 alpha 通道的 ColorModel 对象(比如 ComponentColorModelDirectColorModel)表示 BufferedImage 对象的 alpha 通道。
 ImageCapabilitiesgetCapabilities(GraphicsConfiguration gc)
          重写 Image.getCapabilities(gc) 以获得其 surfaceManager 的能力。
 ColorModelgetColorModel()
          返回 ColorModel
 RastergetData()
          作为一个大 tile 返回图像。
 RastergetData(Rectangle rect)
          计算并返回 BufferedImage 的一个任意区域。
 GraphicsgetGraphics()
          此方法返回 Graphics2D,但此处是出于向后兼容性的考虑。
 intgetHeight()
          返回 BufferedImage 的高度。
 intgetHeight(ImageObserver observer)
          返回 BufferedImage 的高度。
 intgetMinTileX()
          返回 x 方向的最小 tile 索引。
 intgetMinTileY()
          返回 y 方向的最小 tile 索引。
 intgetMinX()
          返回此 BufferedImage 的最小 x 坐标。
 intgetMinY()
          返回此 BufferedImage 的最小 y 坐标。
 intgetNumXTiles()
          返回 x 方向的 tile 数。
 intgetNumYTiles()
          返回 y 方向的 tile 数。
 ObjectgetProperty(String name)
          按名称返回图像的属性。
 ObjectgetProperty(String name, ImageObserver observer)
          按名称返回图像的属性。
 String[]getPropertyNames()
          返回由 getProperty(String) 识别的名称数组;如果没有识别出属性名,则返回 null
 WritableRastergetRaster()
          返回 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 颜色空间中整数像素的数组。
 SampleModelgetSampleModel()
          返回与此 BufferedImage 相关的 SampleModel
 ImageProducergetSource()
          返回产生该图像像素的对象。
 Vector<RenderedImage>getSources()
          返回 RenderedImage 对象的 Vector,该对象是此 BufferedImage 的图像数据的直接来源,而不是这些直接来源的来源。
 BufferedImagegetSubimage(int x, int y, int w, int h)
          返回由指定矩形区域定义的子图像。
 RastergetTile(int tileX, int tileY)
          返回 tile (tileXtileY)。
 intgetTileGridXOffset()
          返回 tile 网格相对于原点(例如,tile (0, 0) 位置的 x 坐标)的 x 偏移量。
 intgetTileGridYOffset()
          返回 tile 网格相对于原点(例如,tile (0, 0) 位置的 y 坐标)的 y 偏移量。
 intgetTileHeight()
          返回 tile 高度(以像素为单位)。
 intgetTileWidth()
          返回 tile 宽度(以像素为单位)。
 intgetTransparency()
          返回透明度。
 intgetType()
          返回图像类型。
 intgetWidth()
          返回 BufferedImage 的宽度。
 intgetWidth(ImageObserver observer)
          返回 BufferedImage 的宽度。
 WritableRastergetWritableTile(int tileX, int tileY)
          为写入签出一个 tile。
 Point[]getWritableTileIndices()
          返回 Point 对象的数组,它指示为写入签出了哪些 tile。
 booleanhasTileWriters()
          返回是否有为写入而签出的 tile。
 booleanisAlphaPremultiplied()
          返回是否已预乘以 alpha。
 booleanisTileWritable(int tileX, int tileY)
          返回当前是否正在为写入签出 tile。
 voidreleaseWritableTile(int tileX, int tileY)
          放弃写入一个 tile 的权限。
 voidremoveTileObserver(TileObserver to)
          移除一个 tile observer。
 voidsetData(Raster r)
          将图像的矩形区域设置为指定 Rasterr 的内容,假定该区域与 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 颜色空间中的整数像素数组设置为图像数据的一部分。
 StringtoString()
          返回此 BufferedImage 对象及其值的 String 表示形式。
 
从类 java.awt.Image 继承的方法
getAccelerationPriority, getScaledInstance, setAccelerationPriority
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

字段详细信息

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 颜色模型,具有打包为整数像素的 Blue、Green 和 Red 三种颜色。不存在 alpha。该图像具有一个 DirectColorModel。当具有透明 alpha 的数据存储在此类型的图像中时,必须调整颜色数据以适应非预乘形式和已丢弃的 alpha,如 AlphaComposite 文档中所描述。

另请参见:
常量字段值

TYPE_3BYTE_BGR

public static final int TYPE_3BYTE_BGR
表示一个具有 8 位 RGB 颜色分量的图像,对应于 Windows 风格的 BGR 颜色模型,具有用 3 字节存储的 Blue、Green 和 Red 三种颜色。不存在 alpha。该图像具有一个 ComponentColorModel。当具有透明 alpha 的数据存储在此类型的图像中时,必须调整颜色数据以适应非预乘形式和已丢弃的 alpha,如 AlphaComposite 文档中所描述。

另请参见:
常量字段值

TYPE_4BYTE_ABGR

public static final int TYPE_4BYTE_ABGR
表示一个具有 8 位 RGBA 颜色分量的图像,具有用 3 字节存储的 Blue、Green 和 Red 颜色以及 1 字节的 alpha。该图像具有带 alpha 的 ComponentColorModel。不要认为此图像中的颜色数据已预乘以 alpha。按照每个像素中字节地址从低到高的顺序 A、B、G、R 将字节数据交插到单个字节数组中。

另请参见:
常量字段值