public interface MFImage extends MField
| Modifier and Type | Method and Description |
|---|---|
void |
append(java.awt.image.RenderedImage[] newValue)
Places a new value at the end of the existing value array, increasing the field length accordingly.
|
int |
getComponents(int imageIndex)
Get the number of color components in the image.
|
int |
getHeight(int imageIndex)
Get the height of the image array.
|
java.awt.image.WritableRenderedImage |
getImage(int imageIndex)
Fetch the Java representation of the underlying image from these pixels.
|
void |
getPixels(int imageIndex,
int[] pixels)
Get the image pixel value in the given eventOut.
|
int |
getWidth(int imageIndex)
Get the width of the image array.
|
void |
insertValue(int index,
java.awt.image.RenderedImage newValue)
Insert a new value prior to the index location in the existing value array, increasing the field length accordingly.
|
void |
set1Value(int imageIndex,
int newValue)
Replace a single value at the appropriate location in the existing value array.
|
void |
set1Value(int imageIndex,
int width,
int height,
int components,
int[] pixels) |
void |
setImage(int imageIndex,
java.awt.image.RenderedImage image)
Set the image value in the given writable field to the new image defined
by a set of pixels.
|
void |
setImage(java.awt.image.RenderedImage[] image) |
void |
setSubImage(int imageIndex,
java.awt.image.RenderedImage image,
int sourceWidth,
int sourceHeight,
int sourceXOffset,
int sourceYOffset,
int destinationXOffset,
int destinationYOffset)
Copy a region of the argument RenderedImage to replace a portion of the
current SFimage.
|
void |
setValue(int[] newValue)
Assign a new value array containing imageIndex, width, height, and components count, followed by array of pixels.
|
addX3DEventListener, getDefinition, isReadable, isWritable, removeX3DEventListenerint getWidth(int imageIndex)
imageIndex - the index of the selected imageint getHeight(int imageIndex)
imageIndex - the index of the selected imageint getComponents(int imageIndex)
imageIndex - the index of the selected imagevoid getPixels(int imageIndex,
int[] pixels)
The number of items in the pixels array will be
width * height. If there are less items than this an
ArrayIndexOutOfBoundsException will be generated. The integer values
are represented according to the number of components.
1 Component Images
The integer has the intensity value stored in the lowest byte and can be
obtained:
intensity = (pixel[i] ) &0xFF;
2 Component Images
The integer has the transparency value stored in the lowest byte and the
intensity in the next byte:
intensity = (pixel[i] >> 8) &0xFF;
alpha = (pixel[i] ) &0xFF;
3 Component Images
The three color components are stored in the integer array as follows:
red = (pixel[i] >> 16) &0xFF;
green = (pixel[i] >> 8) &0xFF;
blue = (pixel[i] ) &0xFF;
4 Component Images
The integer has the value stored in the array as follows:
red = (pixel[i] >> 24) &0xFF;
green = (pixel[i] >> 16) &0xFF;
blue = (pixel[i] >> 8) &0xFF;
alpha = (pixel[i] ) &0xFF;
The width and height values must be greater than or equal to zero. The number of components is between 1 and 4. Any value outside of these bounds will generate an IllegalArgumentException.
imageIndex - the index of the selected imagepixels - The array to copy pixel values intojava.awt.image.WritableRenderedImage getImage(int imageIndex)
imageIndex - the index of the selected imagevoid setImage(int imageIndex,
java.awt.image.RenderedImage image)
imageIndex - the index of the selected imageimage - The new image to use as the sourcevoid setSubImage(int imageIndex,
java.awt.image.RenderedImage image,
int sourceWidth,
int sourceHeight,
int sourceXOffset,
int sourceYOffset,
int destinationXOffset,
int destinationYOffset)
The sub image set shall not resize the base image representation and therefore performs an intersection clip of the provided image. The user provided image shall be of the same format (pixel depth, pixel representation) as the original image obtained through the getImage() method.
RenderedImages are row order from top to bottom. A 4x8 RenderImage is indexed as follows:
X >01234567 ---------- 0 |********| 1 |********| 2 |********| 3 |********| ^ ---------- YSFImages are row order from bottom to top. A 4x8 RenderImage is indexed as follows:
X >01234567 ---------- 3 |********| 2 |********| 1 |********| 0 |********| ^ ---------- Y
Note: The parameter srcYOffset is referenced to the RenderedImage object
(indexed top to bottom).
The parameter destYOffset is referenced to the SFImage object
(indexed bottom to top).
imageIndex - the index of the selected imageimage - The new image to use as the sourcesourceWidth - The width of the argument sub-image region to copysourceHeight - The height of the argument sub-image region to copysourceXOffset - The initial x dimension (width) offset into the
argument sub-image that begins the region to copysourceYOffset - The initial y dimension (height) offset into the
argument sub-image that begins the region to copydestinationXOffset - The initial x dimension (width) offset in the SFimage
object that begins the region to receive the copydestinationYOffset - The initial y dimension (height) offset in the SFimage
object that begins the region to receive the copyvoid set1Value(int imageIndex,
int newValue)
imageIndex - the index of the selected imagenewValue - provides new value to applyvoid set1Value(int imageIndex,
int width,
int height,
int components,
int[] pixels)
void setValue(int[] newValue)
newValue - the newValue to setvoid setImage(java.awt.image.RenderedImage[] image)
void append(java.awt.image.RenderedImage[] newValue)
newValue - The newValue to appendvoid insertValue(int index,
java.awt.image.RenderedImage newValue)
index - The position for the inserted value in the current arraynewValue - The newValue to insertCopyright ©2005-2017 Web3D Consortium under an open-source license, free for any use. Feedback is welcome.