Spec-Zone .ru
спецификации, руководства, описания, API
|
public class PixelGrabber extends Object implements 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()
COMPLETESCANLINES, IMAGEABORTED, IMAGEERROR, RANDOMPIXELORDER, SINGLEFRAME, SINGLEFRAMEDONE, SINGLEPASS, STATICIMAGEDONE, TOPDOWNLEFTRIGHT
Constructor and Description |
---|
PixelGrabber(Image img,
int x,
int y,
int w,
int h,
boolean forceRGB)
Create a PixelGrabber object to grab the (x, y, w, h) rectangular
section of pixels from the specified image.
|
PixelGrabber(Image img,
int x,
int y,
int w,
int h,
int[] pix,
int off,
int scansize)
Create a PixelGrabber object to grab the (x, y, w, h) rectangular
section of pixels from the specified image into the given array.
|
PixelGrabber(ImageProducer ip,
int x,
int y,
int w,
int h,
int[] pix,
int off,
int scansize)
Create a PixelGrabber object to grab the (x, y, w, h) rectangular
section of pixels from the image produced by the specified
ImageProducer into the given array.
|
Modifier and Type | Method and Description |
---|---|
void |
abortGrabbing()
Request the PixelGrabber to abort the image fetch.
|
ColorModel |
getColorModel()
Get the ColorModel for the pixels stored in the array.
|
int |
getHeight()
Get the height of the pixel buffer (after adjusting for image height).
|
Объект |
getPixels()
Get the pixel buffer.
|
int |
getStatus()
Return the status of the pixels.
|
int |
getWidth()
Get the width of the pixel buffer (after adjusting for image width).
|
boolean |
grabPixels()
Request the Image or ImageProducer to start delivering pixels and
wait for all of the pixels in the rectangle of interest to be
delivered.
|
boolean |
grabPixels(long ms)
Request the Image or ImageProducer to start delivering pixels and
wait for all of the pixels in the rectangle of interest to be
delivered or until the specified timeout has elapsed.
|
void |
imageComplete(int status)
The imageComplete method is part of the ImageConsumer API which
this class must implement to retrieve the pixels.
|
void |
setColorModel(ColorModel model)
The setColorModel method is part of the ImageConsumer API which
this class must implement to retrieve the pixels.
|
void |
setDimensions(int width,
int height)
The setDimensions method is part of the ImageConsumer API which
this class must implement to retrieve the pixels.
|
void |
setHints(int hints)
The setHints method is part of the ImageConsumer API which
this class must implement to retrieve the pixels.
|
void |
setPixels(int srcX,
int srcY,
int srcW,
int srcH,
ColorModel model,
byte[] pixels,
int srcOff,
int srcScan)
The setPixels method is part of the ImageConsumer API which
this class must implement to retrieve the pixels.
|
void |
setPixels(int srcX,
int srcY,
int srcW,
int srcH,
ColorModel model,
int[] pixels,
int srcOff,
int srcScan)
The setPixels method is part of the ImageConsumer API which
this class must implement to retrieve the pixels.
|
void |
setProperties(Hashtable<?,?> props)
The setProperties method is part of the ImageConsumer API which
this class must implement to retrieve the pixels.
|
void |
startGrabbing()
Request the PixelGrabber to start fetching the pixels.
|
int |
status()
Returns the status of the pixels.
|
public PixelGrabber(Image img, int x, int y, int w, int h, int[] pix, int off, int scansize)
img
- the image to retrieve pixels fromx
- the x coordinate of the upper left corner of the rectangle
of pixels to retrieve from the image, relative to the default
(unscaled) size of the imagey
- the y coordinate of the upper left corner of the rectangle
of pixels to retrieve from the imagew
- the width of the rectangle of pixels to retrieveh
- the height of the rectangle of pixels to retrievepix
- the array of integers which are to be used to hold the
RGB pixels retrieved from the imageoff
- the offset into the array of where to store the first pixelscansize
- the distance from one row of pixels to the next in
the arrayColorModel.getRGBdefault()
public PixelGrabber(ImageProducer ip, int x, int y, int w, int h, int[] pix, int off, int scansize)
ip
- the ImageProducer
that produces the
image from which to retrieve pixelsx
- the x coordinate of the upper left corner of the rectangle
of pixels to retrieve from the image, relative to the default
(unscaled) size of the imagey
- the y coordinate of the upper left corner of the rectangle
of pixels to retrieve from the imagew
- the width of the rectangle of pixels to retrieveh
- the height of the rectangle of pixels to retrievepix
- the array of integers which are to be used to hold the
RGB pixels retrieved from the imageoff
- the offset into the array of where to store the first pixelscansize
- the distance from one row of pixels to the next in
the arrayColorModel.getRGBdefault()
public PixelGrabber(Image img, int x, int y, int w, int h, boolean forceRGB)
img
- the image to retrieve the image data fromx
- the x coordinate of the upper left corner of the rectangle
of pixels to retrieve from the image, relative to the default
(unscaled) size of the imagey
- the y coordinate of the upper left corner of the rectangle
of pixels to retrieve from the imagew
- the width of the rectangle of pixels to retrieveh
- the height of the rectangle of pixels to retrieveforceRGB
- true if the pixels should always be converted to
the default RGB ColorModelpublic void startGrabbing()
public void abortGrabbing()
public boolean grabPixels() throws InterruptedException
InterruptedException
- Another thread has interrupted this thread.public boolean grabPixels(long ms) throws InterruptedException
ms
:
ms
== 0, waits until all pixels are delivered
ms
> 0, waits until all pixels are delivered
as timeout expires.
ms
< 0, returns true
если все пиксели
захватываются, false
иначе и не ожидает.
ms
- число миллисекунд, чтобы ожидать пикселей изображения
прибыть перед синхронизациейInterruptedException
- Другой поток прервал этот поток.public int getStatus()
ImageObserver
public 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)
Отметьте: Этот метод предназначается, чтобы быть вызванным ImageProducer из Изображения, пиксели которого захватываются. Разработчики, использующие этот class, чтобы получить пиксели от изображения должен избежать вызывать этот метод непосредственно начиная с той работы мог привести к проблемам с получением требуемых пикселей.
setDimensions
в интерфейсе ImageConsumer
width
- width размерностиheight
- height размерностиpublic void setHints(int hints)
Отметьте: Этот метод предназначается, чтобы быть вызванным ImageProducer из Изображения, пиксели которого захватываются. Разработчики, использующие этот class, чтобы получить пиксели от изображения должен избежать вызывать этот метод непосредственно начиная с той работы мог привести к проблемам с получением требуемых пикселей.
setHints
в интерфейсе ImageConsumer
hints
- ряд подсказок, используемых, чтобы обработать пикселиpublic void setProperties(Hashtable<?,?> props)
Отметьте: Этот метод предназначается, чтобы быть вызванным ImageProducer из Изображения, пиксели которого захватываются. Разработчики, использующие этот class, чтобы получить пиксели от изображения должен избежать вызывать этот метод непосредственно начиная с той работы мог привести к проблемам с получением требуемых пикселей.
setProperties
в интерфейсе ImageConsumer
props
- список свойствpublic void setColorModel(ColorModel model)
Отметьте: Этот метод предназначается, чтобы быть вызванным ImageProducer из Изображения, пиксели которого захватываются. Разработчики, использующие этот class, чтобы получить пиксели от изображения должен избежать вызывать этот метод непосредственно начиная с той работы мог привести к проблемам с получением требуемых пикселей.
setColorModel
в интерфейсе ImageConsumer
model
- указанное ColorModel
getColorModel()
public void setPixels(int srcX, int srcY, int srcW, int srcH, ColorModel model, byte[] pixels, int srcOff, int srcScan)
Отметьте: Этот метод предназначается, чтобы быть вызванным ImageProducer из Изображения, пиксели которого захватываются. Разработчики, использующие этот class, чтобы получить пиксели от изображения должен избежать вызывать этот метод непосредственно начиная с той работы мог привести к проблемам с получением требуемых пикселей.
setPixels
в интерфейсе ImageConsumer
srcX
- X координат верхнего левого угла
из области пикселей, которые будут установленыsrcY
- координата Y верхнего левого угла
из области пикселей, которые будут установленыsrcW
- width области пикселейsrcH
- height области пикселейmodel
- указанное ColorModel
pixels
- массив пикселейsrcOff
- смещение в пиксельный массивsrcScan
- расстояние от одной строки пикселей к следующему
в пиксельном массивеgetPixels()
public void setPixels(int srcX, int srcY, int srcW, int srcH, ColorModel model, int[] pixels, int srcOff, int srcScan)
Отметьте: Этот метод предназначается, чтобы быть вызванным ImageProducer из Изображения, пиксели которого захватываются. Разработчики, использующие этот class, чтобы получить пиксели от изображения должен избежать вызывать этот метод непосредственно начиная с той работы мог привести к проблемам с получением требуемых пикселей.
setPixels
в интерфейсе ImageConsumer
srcX
- X координат верхнего левого угла
из области пикселей, которые будут установленыsrcY
- координата Y верхнего левого угла
из области пикселей, которые будут установленыsrcW
- width области пикселейsrcH
- height области пикселейmodel
- указанное ColorModel
pixels
- массив пикселейsrcOff
- смещение в пиксельный массивsrcScan
- расстояние от одной строки пикселей к следующему
в пиксельном массивеgetPixels()
public void imageComplete(int status)
Отметьте: Этот метод предназначается, чтобы быть вызванным ImageProducer из Изображения, пиксели которого захватываются. Разработчики, использующие этот class, чтобы получить пиксели от изображения должен избежать вызывать этот метод непосредственно начиная с той работы мог привести к проблемам с получением требуемых пикселей.
imageComplete
в интерфейсе ImageConsumer
status
- состояние загрузки изображенияImageProducer.removeConsumer(java.awt.image.ImageConsumer)
public int status()
getStatus
имейте
та же самая реализация, но getStatus
привилегированный метод, потому что это соответствует соглашению
именование методов информационного поиска с формой
"getXXX".ImageObserver
,
getStatus()
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92