BufferedImage详细应用秘籍

BufferedImage是什么?

BufferedImage 具有可访问图像数据缓冲区的对象。BufferedImage 由图像数据的 ColorModelRaster 组成。

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


图像类型

static int TYPE_3BYTE_BGR 
          表示一个具有 8 位 RGB 颜色分量的图像,对应于 Windows 风格的 BGR 颜色模型,具有用 3 字节存储的 Blue、Green 和 Red 三种颜色。 
static int TYPE_4BYTE_ABGR 
          表示一个具有 8 位 RGBA 颜色分量的图像,具有用 3 字节存储的 Blue、Green 和 Red 颜色以及 1 字节的 alpha。 
static int TYPE_4BYTE_ABGR_PRE 
          表示一个具有 8 位 RGBA 颜色分量的图像,具有用 3 字节存储的 Blue、Green 和 Red 颜色以及 1 字节的 alpha。 
static int TYPE_BYTE_BINARY 
          表示一个不透明的以字节打包的 1、2 或 4 位图像。 
static int TYPE_BYTE_GRAY 
          表示无符号 byte 灰度级图像(无索引)。 
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 颜色模型,具有打包为整数像素的 Blue、Green 和 Red 三种颜色。 
static int TYPE_INT_RGB 
          表示一个图像,它具有合成整数像素的 8 位 RGB 颜色分量。 
static int TYPE_USHORT_555_RGB 
          表示一个具有 5-5-5 RGB 颜色分量(5 位 red、5 位 green、5 位 blue)的图像,不带 alpha。 
static int TYPE_USHORT_565_RGB 
          表示一个具有 5-6-5 RGB 颜色分量(5 位 red、6 位 green、5 位 blue)的图像,不带 alpha。 
static int TYPE_USHORT_GRAY 
          表示一个无符号 short 灰度级图像(无索引)。 

应用方法

 void addTileObserver(TileObserver to) 
          添加一个 tile observer。 
 void coerceData(boolean isAlphaPremultiplied) 
          强制该数据与 isAlphaPremultiplied 变量中指定的状态相匹配。 
 WritableRaster copyData(WritableRaster outRaster) 
          计算 BufferedImage 的一个任意矩形区域,并将其复制到指定的 WritableRaster。 
 Graphics2D createGraphics() 
          创建一个 Graphics2D,可以将它绘制到此 BufferedImage 中。 
 WritableRaster getAlphaRaster() 
          返回一个 WritableRaster,它使用支持单独空间 alpha 通道的 ColorModel 对象(比如 ComponentColorModel 和 DirectColorModel)表示 BufferedImage 对象的 alpha 通道。 
 ColorModel getColorModel() 
          返回 ColorModel。 
 Raster getData() 
          以一个大 tile 的形式返回图像。 
 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() 
          返回与此 BufferedImage 关联的 SampleModel。 
 ImageProducer getSource() 
          返回生成该图像像素的对象。 
 Vector<RenderedImage> getSources() 
          返回 RenderedImage 对象的 Vector,该对象是此 BufferedImage 图像数据的直接来源,而不是这些直接来源的来源。 
 BufferedImage getSubimage(int x, int y, int w, int h) 
          返回由指定矩形区域定义的子图像。 
 Raster getTile(int tileX, int tileY) 
          返回 tile (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) 
          为写入签出一个 tile。 
 Point[] getWritableTileIndices() 
          返回 Point 对象的数组,它指示为写入签出了哪些 tile。 
 boolean hasTileWriters() 
          返回是否有为写入签出的 tile。 
 boolean isAlphaPremultiplied() 
          返回是否已预乘以 alpha。 
 boolean isTileWritable(int tileX, int tileY) 
          返回当前是否为写入签出 tile。 
 void releaseWritableTile(int tileX, int tileY) 
          放弃写入一个 tile 的权限。 
 void removeTileObserver(TileObserver to) 
          移除一个 tile observer。 
 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 表示形式。 

  • 5
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值