Packages  This Package  Prev  Next  Index  

§2.7 Class MemoryImageSource

public  class  java.awt.image.MemoryImageSource
    extends  java.lang.Object  (I-§1.12)
    implements java.awt.image.ImageProducer  (II-§2.12)
{
        // Constructors
    public MemoryImageSource(int  w, int  h, ColorModel cm, 	§2.7.1
                                byte  pix[], int  off,  int  scan);
    public MemoryImageSource(int  w, int  h, ColorModel cm, 	§2.7.2
                                byte  pix[], int  off,  int  scan,
 ;                          Hashtable  props);
    public MemoryImageSource(int  w, int  h, ColorModel cm, 	§2.7.3
                              int  pix[], int  off,  int  scan);
    public MemoryImageSource(int  w, int  h, ColorModel cm,	§2.7.4
                int  pix[], int  off, int scan, 
                                Hashtable  props);
    public MemoryImageSource(int  w, int  h, int pix[], 	§2.7.5
                               int off, int  scan);
    public MemoryImageSource(int  w, int  h, int pix[], 	§2.7.6
                        int  off, int scan, 
                                Hashtable  props);

        // Methods
    public void addConsumer(ImageConsumer  ic);	§2.7.7
    public boolean isConsumer(ImageConsumer  ic);	§2.7.8
    public void removeConsumer(ImageConsumer  ic);	§2.7.9
    public void	     §2.7.10
        requestTopDownLeftRightResend(ImageConsumer  ic);
    public void startProduction(ImageConsumer  ic);	§2.7.11
}
A memory image source is an implementation of the image producer interface (II-§2.12). It uses an array to produce pixel values for the image.

Here is an example which calculates a image representing a fade from black to blue along the X axis and from black to red along the Y axis:


int w = 100; int h = 100; int pix[] = new int[w * h]; int index = 0; for (int y = 0; y < h; y++) { int red = (y * 255) / (h - 1); for (int x = 0; x < w; x++) { int blue = (x * 255) / (w - 1); pix[index++] = (255 << 24) | (red << 16) | blue; } } Image img = createImage(new MemoryImageSource(w, h, pix, 0, w));
An application can use the method createImage in class Component (II-§1.10.6) to create an Image from a MemoryImageSource.

The method


Constructors

MemoryImageSource

public
MemoryImageSource(int w, int h, ColorModel cm,
byte pix[], int off, int scan)
Constructs an image producer (II-§2.12) object which uses an array of bytes to produce data for the image object. The pixel at coordinate is stored in the pixel array at index .

Parameters:
w - the width of the image
h - the height of the image
cm - the color model used the pixels
pix - the array of pixel values
off - the offset of the first pixel in the array
scan - the number of pixels in the array per line

MemoryImageSource

public MemoryImageSource(int w, int h, ColorModel cm,
byte pix[], int off, int scan,
Hashtable props)
Constructs an image producer (II-§2.12) object which uses an array of bytes to produce data for the image object. The pixel at coordinate is stored in the pixel array at index .


In addition, the image has the properties indicated in the hash table argument.
Parameters:
w - the width of the image
h - the height of the image
cm - the color model used the pixels
pix - the array of pixel values
off - the offset of the first pixel in the array
scan - the number of pixels in the array per line
props - a hash table of properties

MemoryImageSource

public MemoryImageSource(int w, int h, ColorModel cm,
int pix[], int off, int scan)
Constructs an image producer (II-§2.12) object which uses an array of integers to produce data for the image object. The pixel at coordinate is stored in the pixel array at index .

Parameters:
w - the width of the image
h - the height of the image
cm - the color model used the pixels
pix - the array of pixel values
off - the offset of the first pixel in the array
scan - the number of pixels in the array per line

MemoryImageSource

public MemoryImageSource(int w, int h, ColorModel cm,
int pix[], int off, int scan,
Hashtable props)
Constructs an image producer (II-§2.12) object which uses an array of integers to produce data for the image object. The pixel at coordinate is stored in the pixel array at index .


In addition, the image has the properties indicated in the hash table argument.
Parameters:
w - the width of the image
h - the height of the image
cm - the color model used the pixels
pix - the array of pixel values
off - the offset of the first pixel in the array
scan - the number of pixels in the array per line
props - a hash table of properties

MemoryImageSource

public MemoryImageSource(int w, int h, int pix[],
int off, int scan)
Constructs an image producer (II-§2.12) object which uses an array of integers to produce data for the image object. The pixel at coordinate is stored in the pixel array at index .


The resulting image uses the default RGB color model (II-§2.1.9).

Parameters:
w - the width of the image
h - the height of the image
pix - the array of pixel values
off - the offset of the first pixel in the array
scan - the number of pixels in the array per line

MemoryImageSource

public MemoryImageSource(int w, int h, int pix[], int off,
int scan, Hashtable props)
Constructs an image producer (II-§2.12) object which uses an array of integers to produce data for the image object. The pixel at coordinate is stored in the pixel array at index . The resulting image uses the default RGB color model (II-§2.1.9).


In addition, the image has the properties indicated in the hash table argument.
Parameters:
w - the width of the image
h - the height of the image
cm - the color model used the pixels
pix - the array of pixel values
off - the offset of the first pixel in the array
scan - the number of pixels in the array per line
props - a hash table of properties

Methods

addConsumer

public void addConsumer(ImageConsumer ic)
Registers the image consumer (II-§2.10) argument as wanting the image produced by this image producer. For more information on this method and its arguments, see §2.12.1 on page 313.


The addConsumer method of MemoryImageSource, since it already has the image data, immediately delivers the data to the image consumer.
Parameters:
ic - an image consumer

isConsumer

public boolean isConsumer(ImageConsumer ic)
Determines if the image consumer argument is registered with this image producer as a consumer. Because the memory image source delivers data immediately to its image consumer, the memory image source can have at most one consumer at a time.
Parameters:
ic - an image consumer
Returns:
true if the specified image consumer argument (II-§2.10) is currently registered with this image producer as one of its consumers; false otherwise.

removeConsumer

public void removeConsumer(ImageConsumer ic)
Removes the specified image consumer (II-§2.10) object from the list of consumers registered to receive the image data. For more information on this method and its arguments, see §2.12.3 on page 314.

Parameters:
ic - an image consumer

requestTopDownLeftRightResend

public void requestTopDownLeftRightResend(ImageConsumer ic)
An image consumer sends this message to request that the image producer attempt to resend the image data one more time in top-down, left-to-right order. For more information on this method and its arguments, see §2.12.4 on page 314.


The requestTopDownLeftRightResend method of memoryImageSource ignores this request, since it always sends its data in that order.
Parameters:
ic - an image consumer

startProduction

public void startProduction(ImageConsumer ic)
Registers the image consumer (II-§2.10) argument as wanting the image produced by this image producer. In addition, this method forces the image producer to start an immediate reconstruction of the image data For more information on this method and its arguments, see §2.12.5 on page 314.


The addConsumer method of MemoryImageSource, since it already has the image data, immediately delivers the data to the image consumer.
Parameters:
ic - an image consumer

Packages  This Package  Prev  Next  Index
Java API Document (HTML generated by dkramer on April 22, 1996)
Copyright © 1996 Sun Microsystems, Inc. All rights reserved
Please send any comments or corrections to doug.kramer@sun.com