| 
 | JavaTM Platform Standard Ed. 6 | |||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
java.lang.Objectjava.awt.image.PixelGrabber
public class PixelGrabber
PixelGrabber 类实现可以附加在 Image 或 ImageProducer 对象上获得图像像素子集的 ImageConsumer。下面是一个示例:
 public void handlesinglepixel(int x, int y, int pixel) {
        int alpha = (pixel >> 24) & 0xff;
        int red   = (pixel >> 16) & 0xff;
        int green = (pixel >>  8) & 0xff;
        int blue  = (pixel      ) & 0xff;
        // Deal with the pixel as necessary...
 }
 public void handlepixels(Image img, int x, int y, int w, int h) {
        int[] pixels = new int[w * h];
        PixelGrabber pg = new PixelGrabber(img, x, y, w, h, pixels, 0, w);
        try {
            pg.grabPixels();
        } catch (InterruptedException e) {
            System.err.println("interrupted waiting for pixels!");
            return;
        }
        if ((pg.getStatus() & ImageObserver.ABORT) != 0) {
            System.err.println("image fetch aborted or errored");
            return;
        }
        for (int j = 0; j < h; j++) {
            for (int i = 0; i < w; i++) {
                handlesinglepixel(x+i, y+j, pixels[j * w + i]);
            }
        }
 }
 
ColorModel.getRGBdefault()| 字段摘要 | 
|---|
| 从接口 java.awt.image.ImageConsumer 继承的字段 | 
|---|
| COMPLETESCANLINES, IMAGEABORTED, IMAGEERROR, RANDOMPIXELORDER, SINGLEFRAME, SINGLEFRAMEDONE, SINGLEPASS, STATICIMAGEDONE, TOPDOWNLEFTRIGHT | 
| 构造方法摘要 | |
|---|---|
| PixelGrabber(Image img,
             int x,
             int y,
             int w,
             int h,
             boolean forceRGB)创建一个 PixelGrabber 对象,以从指定的图像中抓取像素矩形部分 (x, y, w, h)。 | |
| PixelGrabber(Image img,
             int x,
             int y,
             int w,
             int h,
             int[] pix,
             int off,
             int scansize)创建一个 PixelGrabber 对象,以从指定图像将像素矩形部分 (x, y, w, h) 抓取到给定的数组中。 | |
| PixelGrabber(ImageProducer ip,
             int x,
             int y,
             int w,
             int h,
             int[] pix,
             int off,
             int scansize)创建一个 PixelGrabber 对象,以从指定 ImageProducer 所生成的图像中将像素矩形部分 (x, y, w, h) 抓取到给定的数组中。 | |
| 方法摘要 | |
|---|---|
|  void | abortGrabbing()请求 PixelGrabber 中止获取图像。 | 
|  ColorModel | getColorModel()获取该数组中所存储像素的 ColorModel。 | 
|  int | getHeight()获取(调整图像高度后的)像素缓冲区的高度。 | 
|  Object | getPixels()获取像素缓冲区。 | 
|  int | getStatus()返回像素的状态。 | 
|  int | getWidth()获取(调整图像宽度后的)像素缓冲区的宽度。 | 
|  boolean | grabPixels()请求 Image 或 ImageProducer 开始传递像素,并等待传递完相关矩形中的所有像素。 | 
|  boolean | grabPixels(long ms)请求 Image 或 ImageProducer 开始传递像素,并等待传递完相关矩形中的所有像素,或者等待到用完超时期。 | 
|  void | imageComplete(int status)imageComplete 方法是 ImageConsumer API 的一部分,此类必需实现 ImageConsumer API 来检索像素。 | 
|  void | setColorModel(ColorModel model)setColorModel 方法是 ImageConsumer API 的一部分,此类必需实现 ImageConsumer API 来检索像素。 | 
|  void | setDimensions(int width,
              int height)setDimensions 方法是 ImageConsumer API 的一部分,此类必需实现 ImageConsumer API 来检索像素。 | 
|  void | setHints(int hints)setHints 方法是 ImageConsumer API 的一部分,此类必需实现 ImageConsumer API 来检索像素。 | 
|  void | setPixels(int srcX,
          int srcY,
          int srcW,
          int srcH,
          ColorModel model,
          byte[] pixels,
          int srcOff,
          int srcScan)setPixels 方法是 ImageConsumer API 的一部分,此类必需实现 ImageConsumer API 来检索像素。 | 
|  void | setPixels(int srcX,
          int srcY,
          int srcW,
          int srcH,
          ColorModel model,
          int[] pixels,
          int srcOff,
          int srcScan)setPixels 方法是 ImageConsumer API 的一部分,此类必需实现 ImageConsumer API 来检索像素。 | 
|  void | setProperties(Hashtable<?,?> props)setProperties 方法是 ImageConsumer API 的一部分,此类必需实现 ImageConsumer API 来检索像素。 | 
|  void | startGrabbing()请求 PixelGrabber 开始获取像素。 | 
|  int | status()返回像素的状态。 | 
| 从类 java.lang.Object 继承的方法 | 
|---|
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| 构造方法详细信息 | 
|---|
public PixelGrabber(Image img,
                    int x,
                    int y,
                    int w,
                    int h,
                    int[] pix,
                    int off,
                    int scansize)
img - 从中检索像素的图像x - 从图像中进行检索的像素矩形左上角 x 坐标,其相对于默认(未缩放)图像大小y - 从图像中进行检索的像素矩形左上角 y 坐标w - 要检索的像素矩形的宽度h - 要检索的像素矩形的高度pix - 用于保存从图像中检索的 RGB 像素的整数数组off - 数组中存储第一个像素的偏移量scansize - 数组中一行像素到下一行像素之间的距离ColorModel.getRGBdefault()
public PixelGrabber(ImageProducer ip,
                    int x,
                    int y,
                    int w,
                    int h,
                    int[] pix,
                    int off,
                    int scansize)
ip - 生成图像的 ImageProducer,从该图像中检索像素x - 从图像中进行检索的像素矩形左上角 x 坐标,其相对于默认(未缩放)图像大小y - 从图像中进行检索的像素矩形左上角 y 坐标w - 要检索的像素矩形的宽度h - 要检索的像素矩形的高度pix - 用于保存从图像中检索的 RGB 像素的整数数组off - 数组中存储第一个像素的偏移量scansize - 数组中一行像素到下一行像素之间的距离ColorModel.getRGBdefault()
public PixelGrabber(Image img,
                    int x,
                    int y,
                    int w,
                    int h,
                    boolean forceRGB)
img - 要从中检索图像数据的图像x - 从图像中进行检索的像素矩形左上角 x 坐标,其相对于默认(未缩放)图像大小y - 从图像中进行检索的像素矩形左上角 y 坐标w - 要检索的像素矩形的宽度h - 要检索的像素矩形的高度forceRGB - 如果总是应该将像素转换为默认 RGB ColorModel,则为 true| 方法详细信息 | 
|---|
public void startGrabbing()
public void abortGrabbing()
public boolean grabPixels()
                   throws InterruptedException
InterruptedException - 另一个线程中断了此线程。
public boolean grabPixels(long ms)
                   throws InterruptedException
ms 值的不同,此方法的行为如下:
 ms == 0,则等待到传递完所有像素
ms > 0,则传递所有像素,直到超时为止。
ms < 0,则若抓取了所有像素,便返回 true;否则返回 false 且不等待。
 
ms - 在超时前等待获取图像像素的毫秒数
InterruptedException - 另一个线程中断了此线程。public int getStatus()
ImageObserverpublic int getWidth()
getStatus()public int getHeight()
getStatus()public Object getPixels()
getStatus(), 
setPixels(int, int, int, int, ColorModel, byte[], int, int), 
setPixels(int, int, int, int, ColorModel, int[], int, int)public ColorModel getColorModel()
getStatus(), 
ColorModel.getRGBdefault(), 
setColorModel(ColorModel)
public void setDimensions(int width,
                          int height)
注:此方法应该由要从中抓取像素的 Image 的 ImageProducer 调用。使用此类检索图像像素的开发人员应该避免直接调用此方法,因为该调用操作可能导致检索请求像素时出现问题。
ImageConsumer 中的 setDimensionswidth - 尺寸的宽度height - 尺寸的高度public void setHints(int hints)
注:此方法应该由要从中抓取像素的 Image 的 ImageProducer 调用。使用此类检索图像像素的开发人员应该避免直接调用此方法,因为该调用操作可能导致检索请求像素时出现问题。
ImageConsumer 中的 setHintshints - 用于处理像素的提示集public void setProperties(Hashtable<?,?> props)
注:此方法应该由要从中抓取像素的 Image 的 ImageProducer 调用。使用此类检索图像像素的开发人员应该避免直接调用此方法,因为该调用操作可能导致检索请求像素时出现问题。
ImageConsumer 中的 setPropertiesprops - 属性列表public void setColorModel(ColorModel model)
注:此方法应该由要从中抓取像素的 Image 的 ImageProducer 调用。使用此类检索图像像素的开发人员应该避免直接调用此方法,因为该调用操作可能导致检索请求像素时出现问题。
ImageConsumer 中的 setColorModelmodel - 指定的 ColorModelgetColorModel()
public void setPixels(int srcX,
                      int srcY,
                      int srcW,
                      int srcH,
                      ColorModel model,
                      byte[] pixels,
                      int srcOff,
                      int srcScan)
注:此方法应该由要从中抓取像素的 Image 的 ImageProducer 调用。使用此类检索图像像素的开发人员应该避免直接调用此方法,因为该调用操作可能导致检索请求像素时出现问题。
ImageConsumer 中的 setPixelssrcX - 要设置的像素区域左上角的 X 坐标srcY - 要设置的像素区域左上角的 Y 坐标srcW - 像素区域的宽度srcH - 像素区域的高度model - 指定的 ColorModelpixels - 像素数组srcOff - 像素数组中的偏移量srcScan - 像素数组中一行像素到下一行的距离getPixels()
public void setPixels(int srcX,
                      int srcY,
                      int srcW,
                      int srcH,
                      ColorModel model,
                      int[] pixels,
                      int srcOff,
                      int srcScan)
注:此方法应该由要从中抓取像素的 Image 的 ImageProducer 调用。使用此类检索图像像素的开发人员应该避免直接调用此方法,因为该调用操作可能导致检索请求像素时出现问题。
ImageConsumer 中的 setPixelssrcX - 要设置的像素区域左上角的 X 坐标srcY - 要设置的像素区域左上角的 Y 坐标srcW - 像素区域的宽度srcH - 像素区域的高度model - 指定的 ColorModelpixels - 像素数组srcOff - 像素数组中的偏移量srcScan - 像素数组中一行像素到下一行的距离getPixels()public void imageComplete(int status)
注:此方法应该由要从中抓取像素的 Image 的 ImageProducer 调用。使用此类检索图像像素的开发人员应该避免直接调用此方法,因为该调用操作可能导致检索请求像素时出现问题。
ImageConsumer 中的 imageCompletestatus - 正在加载的图像的状态ImageProducer.removeConsumer(java.awt.image.ImageConsumer)public int status()
getStatus 具有相同的实现,但是优先使用 getStatus 方法,因为它遵循检索信息方法的命名约定,即 "getXXX" 的形式。
ImageObserver, 
getStatus()| 
 | JavaTM Platform Standard Ed. 6 | |||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。