模块 java.desktop

类 BufferedImage

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

public class BufferedImage extends Image implements WritableRenderedImage , Transparency
BufferedImage 子类描述了一个 Image 具有可访问的图像数据缓冲区。 BufferedImageColorModel Raster 图像数据组成。 RasterSampleModel 中的条带数量和类型必须与 ColorModel 代表其颜色和 alpha 组件所需的数量和类型相匹配。所有 BufferedImage 对象的左上角坐标为 (0, 0)。因此,用于构建 BufferedImage 的任何 Raster 必须具有 minX=0 和 minY=0。

该类依赖Raster的数据获取和设置方法,以及ColorModel的颜色表征方法。

参见:
  • 字段详细信息

    • 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 颜色模型,其中蓝色、绿色和红色填充为整数像素。没有阿尔法。图像有一个 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 中。该图像有一个带 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
      表示无符号字节灰度图像,非索引。此图像有一个 ComponentColorModel 和一个 CS_GRAY ColorSpace 。当具有非不透明 alpha 的数据存储在这种类型的图像中时,必须将颜色数据调整为非预乘形式并丢弃 alpha,如 AlphaComposite 文档中所述。
      参见:
    • TYPE_USHORT_GRAY

      public static final int TYPE_USHORT_GRAY
      表示无符号短灰度图像,非索引)。此图像有一个 ComponentColorModel 和一个 CS_GRAY ColorSpace。当具有非不透明 alpha 的数据存储在这种类型的图像中时,必须将颜色数据调整为非预乘形式并丢弃 alpha,如 AlphaComposite 文档中所述。
      参见:
    • TYPE_BYTE_BINARY

      public static final int TYPE_BYTE_BINARY
      表示不透明的字节压缩 1、2 或 4 位图像。该图像有一个没有 alpha 的 IndexColorModel 。当此类型用作带有imageType参数但没有ColorModel参数的BufferedImage构造函数的imageType参数时,将使用默认sRGB ColorSpace中两种颜色的IndexColorModel创建1位图像:{0,0,0}和{255, 255, 255}。

      每个像素具有 2 或 4 位的图像可以通过 BufferedImage 构造函数构建,该构造函数通过提供具有适当map大小的 ColorModel 参数来获取 ColorModel 参数。

      每像素 8 位的图像应使用图像类型 TYPE_BYTE_INDEXEDTYPE_BYTE_GRAY,具体取决于它们的 ColorModel

      当颜色数据存储在这种类型的图像中时,颜色图中最接近的颜色由 IndexColorModel 确定,并存储生成的索引。根据 IndexColorModel 颜色图中的颜色,可能会导致 alpha 或颜色组件的近似和丢失。

      参见:
    • TYPE_BYTE_INDEXED

      public static final int TYPE_BYTE_INDEXED
      表示索引字节图像。当此类型用作带有imageType参数但没有ColorModel参数的BufferedImage构造函数的imageType参数时,将使用256色6/6/6颜色立方体调色板创建IndexColorModel,其余颜色为216-255由默认 sRGB ColorSpace 中的灰度值填充。

      当颜色数据存储在这种类型的图像中时,颜色图中最接近的颜色由 IndexColorModel 确定,并存储生成的索引。根据 IndexColorModel 颜色图中的颜色,可能会导致 alpha 或颜色组件的近似和丢失。

      参见:
  • 构造方法详细信息

    • BufferedImage

      public BufferedImage(int width, int height, int imageType)
      构造一个预定义图像类型的BufferedImage。图像的 ColorSpace 是默认的 sRGB 空间。
      参数:
      width - 创建图像的宽度
      height - 创建图像的高度
      imageType - 创建图像的类型
      参见:
    • 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 个条目。
      参见:
    • BufferedImage

      public BufferedImage(ColorModel  cm, WritableRaster  raster, boolean isRasterPremultiplied, Hashtable <?,?> properties)
      使用指定的 ColorModelRaster 构造一个新的 BufferedImage。如果 RasterSampleModel 中的条带数量和类型与 ColorModel 表示其颜色和 alpha 组件所需的数量和类型不匹配,则会抛出 RasterFormatException 。此方法可以将颜色 Raster 数据乘以或除以 alpha,以匹配 ColorModel 中的 alphaPremultiplied 状态。 BufferedImage 的属性可以通过传入 String /Object 对的 Hashtable 来建立。
      参数:
      cm - ColorModel 用于新图像
      raster - Raster 用于图像数据
      isRasterPremultiplied - 如果为 true,则栅格中的数据已预乘 alpha。
      properties - HashtableString /Object 对。
      抛出:
      RasterFormatException - 如果 RasterSampleModel 中的条带数量和类型与 ColorModel 代表其颜色和 alpha 组件所需的数量和类型不匹配。
      IllegalArgumentException - 如果 rastercm 不兼容
      参见:
  • 方法详情

    • getType

      public int getType()
      返回图像类型。如果它不是已知类型之一,则返回 TYPE_CUSTOM。
      返回:
      这个 BufferedImage 的图像类型。
      参见:
    • getColorModel

      public ColorModel  getColorModel()
      返回 ColorModel
      指定者:
      getColorModel 在接口 RenderedImage
      返回:
      这个 BufferedImageColorModel
    • getRaster

      public WritableRaster  getRaster()
      返回 WritableRaster
      返回:
      这个 BufferedImageWritableRaster
    • getAlphaRaster

      public WritableRaster  getAlphaRaster()
      返回一个 WritableRaster 表示 BufferedImage 对象的 alpha 通道,其中 ColorModel 对象支持单独的空间 alpha 通道,例如 ComponentColorModelDirectColorModel 。如果此图像中没有与 ColorModel 关联的 alpha 通道,则返回 null。此方法假定对于除 IndexColorModel 以外的所有 ColorModel 对象,如果 ColorModel 支持 alpha,则有一个单独的 alpha 通道存储为图像数据的最后一个波段。如果图像使用在查找表中具有 alpha 的 IndexColorModel,则此方法返回 null,因为没有空间离散的 alpha 通道。此方法创建一个新的 WritableRaster ,但共享数据数组。
      返回:
      WritableRasternull 如果此 BufferedImage 没有与其 ColorModel 关联的 alpha 通道。
    • getRGB

      public int getRGB(int x, int y)
      返回默认 RGB 颜色模型 (TYPE_INT_ARGB) 和默认 sRGB 颜色空间中的整数像素。如果此默认模型与图像 ColorModel 不匹配,则会发生颜色转换。使用此方法时,返回数据中每个颜色组件只有 8 位精度。

      如果坐标不在边界内,可能会抛出 ArrayOutOfBoundsException。但是,不能保证显式边界检查。

      参数:
      x - 像素的 X 坐标,从中获取默认 RGB 颜色模型和 sRGB 颜色空间中的像素
      y - 像素的 Y 坐标,从中获取默认 RGB 颜色模型和 sRGB 颜色空间中的像素
      返回:
      默认 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

      public int getWidth(ImageObserver  observer)
      返回 BufferedImage 的宽度。
      指定者:
      getWidth 在类 Image
      参数:
      observer - 忽略
      返回:
      这个BufferedImage的宽度
      参见:
    • getHeight

      public int getHeight(ImageObserver  observer)
      返回 BufferedImage 的高度。
      指定者:
      getHeight 在类 Image
      参数:
      observer - 忽略
      返回:
      这个BufferedImage的高度
      参见:
    • getSource

      public ImageProducer  getSource()
      返回为图像生成像素的对象。
      指定者:
      getSource 在类 Image
      返回:
      ImageProducer 用于生成此图像的像素。
      参见:
    • getProperty

      public Object  getProperty(String  name, ImageObserver  observer)
      按名称返回图像的属性。各个属性名称由各种图像格式定义。如果未为特定图像定义属性,则此方法返回 UndefinedProperty 字段。如果此图像的属性未知,则此方法返回 null 并稍后通知 ImageObserver 对象。属性名称“comment”应用于存储可选评论,该评论可以作为图像、来源或作者的描述呈现给用户。
      指定者:
      getProperty 在类 Image
      参数:
      name - 属性名称
      observer - 接收有关图像信息的通知的 ImageObserver
      返回:
      Object 是指定的 namenull 引用的属性(如果此图像的属性尚不清楚)。
      抛出:
      NullPointerException - 如果属性名称为空。
      参见:
    • getProperty

      public Object  getProperty(String  name)
      按名称返回图像的属性。
      指定者:
      getProperty 在接口 RenderedImage
      参数:
      name - 属性名称
      返回:
      Object 是指定的 name 引用的属性。
      抛出:
      NullPointerException - 如果属性名称为空。
      参见:
    • getGraphics

      public Graphics  getGraphics()
      此方法返回 Graphics2D ,但此处是为了向后兼容。 createGraphics 更方便,因为它被声明返回一个 Graphics2D
      指定者:
      getGraphics 在类 Image
      返回:
      Graphics2D ,可用于绘制此图像。
      参见:
    • 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 表示。
      重写:
      toString 在类 Object
      返回:
      一个 String 代表这个 BufferedImage
    • getSources

      public Vector <RenderedImage > getSources()
      返回 Vector RenderedImage 个对象,这些对象是此 BufferedImage 图像数据的直接来源,而不是这些直接来源的来源。如果 BufferedImage 没有关于其直接来源的信息,则此方法返回 null。如果 BufferedImage 没有直接来源,它会返回一个空的 Vector
      指定者:
      getSources 在接口 RenderedImage
      返回:
      一个 Vector 包含这个 BufferedImage 对象的图像日期的直接来源,或者 null 如果这个 BufferedImage 没有关于它的直接来源的信息,或者一个空的 Vector 如果这个 BufferedImage 没有直接来源。
    • getPropertyNames

      public String [] getPropertyNames()
      如果未识别任何属性名称,则返回由 getProperty(String) null 识别的名称数组。
      指定者:
      getPropertyNames 在接口 RenderedImage
      返回:
      一个 String 数组,包含 getProperty(String) 识别的所有属性名称;或 null(如果未识别任何属性名称)。
    • getMinX

      public int getMinX()
      返回此 BufferedImage 的最小 x 坐标。这始终为零。
      指定者:
      getMinX 在接口 RenderedImage
      返回:
      这个 BufferedImage 的最小 x 坐标。
    • getMinY

      public int getMinY()
      返回此 BufferedImage 的最小 y 坐标。这始终为零。
      指定者:
      getMinY 在接口 RenderedImage
      返回:
      这个 BufferedImage 的最小 y 坐标。
    • getSampleModel

      public SampleModel  getSampleModel()
      返回与此 BufferedImage 关联的 SampleModel
      指定者:
      getSampleModel 在接口 RenderedImage
      返回:
      这个 BufferedImageSampleModel
    • 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
      返回:
      tile 表格的 x 偏移量。
    • getTileGridYOffset

      public int getTileGridYOffset()
      返回瓦片网格相对于原点的y偏移量,例如瓦片(0, 0)位置的y坐标。这始终为零。
      指定者:
      getTileGridYOffset 在接口 RenderedImage
      返回:
      瓦片网格的 y 偏移量。
    • getTile

      public Raster  getTile(int tileX, int tileY)
      返回图块(tileXtileY)。请注意,tileXtileY 是图块数组的索引,而不是像素位置。返回的 Raster 是实时的,这意味着如果图像发生变化,它也会更新。
      指定者:
      getTile 在接口 RenderedImage
      参数:
      tileX - 瓦片数组中所请求瓦片的 x 索引
      tileY - 瓦片数组中所请求瓦片的 y 索引
      返回:
      Raster 是由参数 tileXtileY 定义的图块。
      抛出:
      ArrayIndexOutOfBoundsException - 如果 tileXtileY 都不等于 0
    • getData

      public Raster  getData()
      将图像作为一个大图块返回。返回的 Raster 是图像数据的副本,如果图像发生更改则不会更新。
      指定者:
      getData 在接口 RenderedImage
      返回:
      a Raster 是图像数据的副本。
      参见:
    • getData

      public Raster  getData(Rectangle  rect)
      计算并返回 BufferedImage 的任意区域。返回的 Raster 是图像数据的副本,如果图像发生更改则不会更新。
      指定者:
      getData 在接口 RenderedImage
      参数:
      rect - 要返回的 BufferedImage 的区域。
      返回:
      RasterBufferedImage 指定区域的图像数据的副本
      参见:
    • copyData

      public WritableRaster  copyData(WritableRaster  outRaster)
      计算 BufferedImage 的任意矩形区域并将其复制到指定的 WritableRaster 中。要计算的区域根据指定的 WritableRaster 的边界确定。指定的 WritableRaster 必须具有与此图像兼容的 SampleModel。如果 outRasternull ,则会创建一个适当的 WritableRaster
      指定者:
      copyData 在接口 RenderedImage
      参数:
      outRaster - 一个 WritableRaster 来保存图像的返回部分,或者 null
      返回:
      对提供或创建的 WritableRaster 的引用。
    • setData

      public void setData(Raster  r)
      将图像的矩形区域设置为指定 Raster r 的内容,假定它与 BufferedImage 在同一坐标空间中。该操作被限制在 BufferedImage 的范围内。
      指定者:
      setData 在接口 WritableRenderedImage
      参数:
      r - 指定的 Raster
      参见:
    • addTileObserver

      public void addTileObserver(TileObserver  to)
      添加一个瓷砖观察者。如果观察者已经存在,它会收到多个通知。
      指定者:
      addTileObserver 在接口 WritableRenderedImage
      参数:
      to - 指定的 TileObserver
    • removeTileObserver

      public void removeTileObserver(TileObserver  to)
      删除一个瓦片观察者。如果观察者没有注册,则什么也不会发生。如果观察者注册了多个通知,现在注册的通知少了一个。
      指定者:
      removeTileObserver 在接口 WritableRenderedImage
      参数:
      to - 指定的 TileObserver
    • isTileWritable

      public boolean isTileWritable(int tileX, int tileY)
      返回当前是否签出磁贴以进行写入。
      指定者:
      isTileWritable 在接口 WritableRenderedImage
      参数:
      tileX - 图块的 x 索引。
      tileY - 图块的 y 索引。
      返回:
      true 如果由指定索引指定的图块已被检查写入; false否则。
      抛出:
      ArrayIndexOutOfBoundsException - 如果 tileXtileY 都不等于 0
    • getWritableTileIndices

      public Point [] getWritableTileIndices()
      返回一个 Point 对象数组,指示哪些磁贴已签出以进行写入。如果没有签出,则返回 null
      指定者:
      getWritableTileIndices 在接口 WritableRenderedImage
      返回:
      一个 Point 数组,指示为写入而签出的图块,如果没有为写入而签出的图块,则为 null
    • hasTileWriters

      public boolean hasTileWriters()
      返回是否签出任何图块以进行写入。语义等同于
       (getWritableTileIndices() != null).
       
      指定者:
      hasTileWriters 在接口 WritableRenderedImage
      返回:
      true 是否检查了任何磁贴以进行写入; false否则。
    • getWritableTile

      public WritableRaster  getWritableTile(int tileX, int tileY)
      检查用于书写的磁贴。当 tile 从没有作者变为只有一个作者时,所有注册的 TileObservers 都会收到通知。
      指定者:
      getWritableTile 在接口 WritableRenderedImage
      参数:
      tileX - 图块的 x 索引
      tileY - 瓦片的 y 索引
      返回:
      WritableRaster 是由指定的索引指示的要检查写入的磁贴。
    • releaseWritableTile

      public void releaseWritableTile(int tileX, int tileY)
      放弃写入磁贴的权限。如果调用者继续写入磁贴,则结果未定义。对此方法的调用应仅与对 getWritableTile(int, int) 的调用成对出现。任何其他都会导致不确定的结果。当 tile 从有一个作者变为没有作者时,所有注册的 TileObservers 都会收到通知。
      指定者:
      releaseWritableTile 在接口 WritableRenderedImage
      参数:
      tileX - 图块的 x 索引
      tileY - 瓦片的 y 索引
    • getTransparency

      public int getTransparency()
      返回透明度。返回 OPAQUE、BITMASK 或 TRANSLUCENT。
      指定者:
      getTransparency 在接口 Transparency
      返回:
      这个 BufferedImage 的透明度。
      自从:
      1.5
      参见: