当前位置 类层次 (JDK) 所有类 (JDK) 所有域和方法 (JDK)

类 java.awt.image.PixelGrabber

java.lang.Object
   |
   +----java.awt.image.PixelGrabber

public class PixelGrabber
extends Object
implements ImageConsumer

PixelGrabber 类执行一个已连接到某个 Image 的 ImageConsumer 或 ImageProducer 对象来检索该图像的像素子集。示例如下:

 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 

参见:
getRGBdefault

构造子索引

PixelGrabber(Image, int, int, int, int, boolean)
创建一个 PixelGrabber 对象以便从指定图像中抓取像素的 (x, y, w, h) 矩形部分。
PixelGrabber(Image, int, int, int, int, int[], int, int)
创建一个 PixelGrabber 对象以便从指定图像中抓取像素的 (x, y, w, h) 矩形部分放入给定数组中。
PixelGrabber(ImageProducer, int, int, int, int, int[], int, int)
创建一个 PixelGrabber 对象以便从指定的 ImageProducer 所产生的图像中抓取像素的 (x, y, w, h) 矩形部分放入给定数组中。

方法索引

abortGrabbing()
请求 PixelGrabber 放弃图像取装。
getColorModel()
为保存在数组中的像素获取 ColorModel 。
getHeight()
获取像素缓冲区的高度 (调整图像高度之后) 。
getPixels()
获取像素缓冲区。
getStatus()
返回像素状态。
getWidth()
获取像素缓冲区的宽度 (调整图像宽度之后) 。
grabPixels()
请求 Image 或 ImageProducer 开始发送像素并等待有兴趣发送的矩形中的所有像素。
grabPixels(long)
请求 Image 或 ImageProducer 开始发送像素并等待有兴趣发送的矩形中的所有像素直到消耗完超时安排为止。
imageComplete(int)
imageComplete 方法 ImageConsumer API 的一部分,该类必须执行以获取像素。
setColorModel(ColorModel)
setColorModel 方法 ImageConsumer API 的一部分,该类必须执行以获取像素。
setDimensions(int, int)
setDimensions 方法 ImageConsumer API 的一部分,该类必须执行以获取像素。
setHints(int)
setHints 方法 ImageConsumer API 的一部分,该类必须执行以获取像素。
setPixels(int, int, int, int, ColorModel, byte[], int, int)
setPixels 方法 ImageConsumer API 的一部分,该类必须执行以获取像素。
setPixels(int, int, int, int, ColorModel, int[], int, int)
setPixels 方法 ImageConsumer API 的一部分,该类必须执行以获取像素。
setProperties(Hashtable)
setProperties 方法 ImageConsumer API 的一部分,该类必须执行以获取像素。
startGrabbing()
请求 PixelGrabber 开始装取像素。
status()
不推荐:用 getStatus() 替换。

构造子

PixelGrabber
 public PixelGrabber(Image img,
                     int x,
                     int y,
                     int w,
                     int h,
                     int pix[],
                     int off,
                     int scansize)
创建一个 PixelGrabber 对象以便从指定图像中抓取像素的 (x, y, w, h) 矩形部分) 放入给定数组中。像素存储在缺省的 RGB ColorModel 里的数组中。矩形 (x, y, w, h) 内像素 (i, j) 的 RGB 数据存储在位于数组的 pix[(j - y) * scansize + (i - x) + off] 偏移位置。

参数:
img - 待检索像素的图像
x - 待检索图像的像素矩形左上角相对于该图像缺省的 (未定的) 尺寸 x 坐标。
y - 待检索图像的像素矩形左上角 y 坐标。
w - 待检索的像素矩形的宽度。
h - 待检索的像素矩形的高度。
pix - 用于保留从图像检索来的 RGB 像素的整数数组。
off - 存储在数组中的第一个像素的偏移量
scansize - 数组中一个像素与下一个像素之间的距离。
参见:
getRGBdefault
PixelGrabber
 public PixelGrabber(ImageProducer ip,
                     int x,
                     int y,
                     int w,
                     int h,
                     int pix[],
                     int off,
                     int scansize)
创建一个 PixelGrabber 对象以便从指定的 ImageProducer 所产生的图像中抓取像素的 (x, y, w, h) 矩形部分放入给定数组中。像素存储在缺省的 RGB ColorModel 里的数组中。矩形 (x, y, w, h) 内像素 (i, j) 的 RGB 数据存储在位于 pix[(j - y) * scansize + (i - x) + off] 的数组中。

参数:
img - 待检索像素的图像
x - 待检索图像的像素矩形左上角相对于该图像缺省的 (未定的) 尺寸 x 坐标。
y - 待检索图像的像素矩形左上角 y 坐标。
w - 待检索的像素矩形的宽度
h - 待检索的像素矩形的高度
pix - 用于保留从图像检索来的 RGB 像素的整数数组
off - 存储在数组中的第一个像素的偏移量
scansize - 数组中一个像素与下一个像素之间的距离。
参见:
getRGBdefault
PixelGrabber
 public PixelGrabber(Image img,
                     int x,
                     int y,
                     int w,
                     int h,
                     boolean forceRGB)
创建一个 PixelGrabber 对象以便从指定图像中抓取像素的 (x, y, w, h) 矩形部分。若对每个 setPixels 调用使用相同的 ColorModel,则像素在初始的 ColorModel 中积累, 否则像素在缺省的 RGB ColorModel 中积累。若 forceRGB 参数为真,则像素无论如何都将在缺省的 RGB ColorModel 中积累。在任何一种情况下, PixelGrabber 都分配一个缓冲区来保存像素。若 (w <0) 或 (h < 0), 则发送信息时它们将默认保留的源数据的宽度和长度。

参数:
img - 待检索图像数据的图像
x - 待检索图像的像素矩形左上角相对于该图像缺省的 (未定的) 尺寸 x 坐标
y - 待检索图像的像素矩形左上角的 y 坐标
w - 待检索的像素矩形的宽度
h - 待检索的像素矩形的高度
forceRGB - 若像素总是应转换为缺省的 RGB ColorModel 时为真

方法

startGrabbing
 public synchronized void startGrabbing()
请求 PixelGrabber 开始装取像素。

abortGrabbing
 public synchronized void abortGrabbing()
请求 PixelGrabber 放弃图像装取。

grabPixels
 public boolean grabPixels() throws InterruptedException
请求 Image 或 ImageProducer 开始发送像素并等待有兴趣发送的矩形中的所有像素。

返回值:
若抓取像素成功则为 true ,失败则为 false ,超时则为 error
抛出: InterruptedException
另一个线程已中断该线程。
grabPixels
 public synchronized boolean grabPixels(long ms) throws InterruptedException
请求 Image 或 ImageProducer 开始发送像素并等待有兴趣发送的矩形中的所有像素直到消耗完超时安排为止。

参数:
ms - 在超时前等待图像像素到来的毫秒数
返回值:
若抓取像素成功则为 true ,失败则为 false ,超时则为 error
抛出: InterruptedException
另一个线程已中断该线程。
getStatus
 public synchronized int getStatus()
返回像素状态。返回表示可用像素的 ImageObserver 标志。

返回值:
所有相关 ImageObserver 标志的位或
参见:
ImageObserver
getWidth
 public synchronized int getWidth()
获取像素缓冲区的宽度 (调整图像宽度之后使用) 。若未指定待抓取的像素矩形宽度,则该信息仅在图象发送其尺寸之后才可用。

返回值:
像素缓冲区使用的最终宽度,若该宽度未知则为 -1
参见:
getStatus
getHeight
 public synchronized int getHeight()
获取像素缓冲区的高度 (调整图像高度之后使用) 。若未指定待抓取的像素矩形宽度,则该信息仅在图象发送其尺寸之后才可用。。

返回值:
像素缓冲区使用的最终宽度,若该宽度未知则为 -1
参见:
getStatus
getPixels
 public synchronized Object getPixels()
获取像素缓冲区。若 PixelGrabber 不是用显式像素缓冲区来构造的,则该方法将返回 null ,直到知晓图像数据的尺寸和格式为止。因为若源图像使用多个 ColorModel 来发送数据,则任何时侯 PixelGrabber 都可求助于缺省的 RGB ColorModel 中的积累数据,该方法返回的数组对象可以改变超时安排,直到图像抓取完成。

返回值:
一个字节数组或者一个 int 数组
参见:
getStatus
getColorModel
 public synchronized ColorModel getColorModel()
获取保存在数组中像素的 ColorModel 。若 PixelGrabber 不是用显式像素缓冲区构造的,则该方法将返回缺省 RGB ColorModel,否则返回 null 直到知道图像数据的尺寸和格式为止。因为若源图像使用多个 ColorModel 来发送数据,则任何时侯 PixelGrabber 都可能求助于缺省的 RGB ColorModel 中的积累数据,该方法返回的数组对象可以改变,直到图像抓取完成。

返回值:
用于存储像素的 ColorModel 对象
参见:
getStatus, getRGBdefault
setDimensions
 public void setDimensions(int width,
                           int height)
setDimensions 方法是 ImageConsumer API 的一部分,该类必须执行以获取像素。

setHints
 public void setHints(int hints)
setHints 方法是 ImageConsumer API 的一部分,该类必须执行以获取像素。

setProperties
 public void setProperties(Hashtable props)
setProperties 方法是 ImageConsumer API 的一部分,该类必须执行以获取像素。

setColorModel
 public void setColorModel(ColorModel model)
setColorModel 方法是 ImageConsumer API 的一部分,该类必须执行以获取像素。

setPixels
 public void setPixels(int srcX,
                       int srcY,
                       int srcW,
                       int srcH,
                       ColorModel model,
                       byte pixels[],
                       int srcOff,
                       int srcScan)
setPixels 方法是 ImageConsumer API 的一部分,该类必须执行以获取像素。

setPixels
 public void setPixels(int srcX,
                       int srcY,
                       int srcW,
                       int srcH,
                       ColorModel model,
                       int pixels[],
                       int srcOff,
                       int srcScan)
setPixels 方法是 ImageConsumer API 的一部分,该类必须执行以获取像素。

imageComplete
 public synchronized void imageComplete(int status)
imageComplete 方法是 ImageConsumer API 的一部分,该类必须执行以获取像素。

status
 public synchronized int status()
不推荐用 getStatus() 替换。


当前位置 类层次 (JDK) 所有类 (JDK) 所有域和方法 (JDK)