public class ImageComponent3D extends ImageComponent
BufferedImage bi;
RenderedImage ri = bi;
ImageComponent3D ic;
// Set image 0 to the specified BufferedImage
ic.set(0, bi);
// Set image 0 to the specified RenderedImage
ic.set(0, ri);
Modifier and Type | Class and Description |
---|---|
static interface |
ImageComponent3D.Updater
The ImageComponent3D.Updater interface is used in updating image data
that is accessed by reference from a live or compiled ImageComponent
object.
|
ImageComponent.ImageClass
ALLOW_FORMAT_READ, ALLOW_IMAGE_READ, ALLOW_IMAGE_WRITE, ALLOW_SIZE_READ, FORMAT_CHANNEL8, FORMAT_LUM4_ALPHA4, FORMAT_LUM8_ALPHA8, FORMAT_R3_G3_B2, FORMAT_RGB, FORMAT_RGB4, FORMAT_RGB5, FORMAT_RGB5_A1, FORMAT_RGB8, FORMAT_RGBA, FORMAT_RGBA4, FORMAT_RGBA8
Constructor and Description |
---|
ImageComponent3D(int format,
BufferedImage[] images)
Constructs a 3D image component object using the specified format,
and the BufferedImage array.
|
ImageComponent3D(int format,
BufferedImage[] images,
boolean byReference,
boolean yUp)
Constructs a 3D image component object using the specified format,
BufferedImage array, byReference flag, and yUp flag.
|
ImageComponent3D(int format,
int width,
int height,
int depth)
Constructs a 3D image component object using the specified
format, width, height, and depth.
|
ImageComponent3D(int format,
int width,
int height,
int depth,
boolean byReference,
boolean yUp)
Constructs a 3D image component object using the specified
format, width, height, depth, byReference flag, and yUp flag.
|
ImageComponent3D(int format,
NioImageBuffer[] images,
boolean byReference,
boolean yUp)
Constructs a 3D image component object using the specified format,
NioImageBuffer array, byReference flag, and yUp flag.
|
ImageComponent3D(int format,
RenderedImage[] images)
Constructs a 3D image component object using the specified format,
and the RenderedImage array.
|
ImageComponent3D(int format,
RenderedImage[] images,
boolean byReference,
boolean yUp)
Constructs a 3D image component object using the specified format,
RenderedImage array, byReference flag, and yUp flag.
|
Modifier and Type | Method and Description |
---|---|
NodeComponent |
cloneNodeComponent()
Deprecated.
replaced with cloneNodeComponent(boolean forceDuplicate)
|
int |
getDepth()
Retrieves the depth of this 3D image component object.
|
BufferedImage[] |
getImage()
Retrieves the images from this ImageComponent3D object.
|
BufferedImage |
getImage(int index)
Retrieves one of the images from this ImageComponent3D object.
|
NioImageBuffer[] |
getNioImage()
Retrieves the images from this ImageComponent3D object.
|
NioImageBuffer |
getNioImage(int index)
Retrieves one of the images from this ImageComponent3D object.
|
RenderedImage[] |
getRenderedImage()
Retrieves the images from this ImageComponent3D object.
|
RenderedImage |
getRenderedImage(int index)
Retrieves one of the images from this ImageComponent3D object.
|
void |
set(BufferedImage[] images)
Sets the array of images in this image component to the
specified array of BufferedImage objects.
|
void |
set(int index,
BufferedImage image)
Sets this image component at the specified index to the
specified BufferedImage object.
|
void |
set(int index,
NioImageBuffer image)
Sets this image component at the specified index to the
specified NioImageBuffer object.
|
void |
set(int index,
RenderedImage image)
Sets this image component at the specified index to the
specified RenderedImage object.
|
void |
set(NioImageBuffer[] images)
Sets the array of images in this image component to the
specified array of NioImageBuffer objects.
|
void |
set(RenderedImage[] images)
Sets the array of images in this image component to the
specified array of RenderedImage objects.
|
void |
setSubImage(int index,
RenderedImage image,
int width,
int height,
int srcX,
int srcY,
int dstX,
int dstY)
Modifies a contiguous subregion of a particular slice of
image of this ImageComponent3D object.
|
void |
updateData(ImageComponent3D.Updater updater,
int index,
int x,
int y,
int width,
int height)
Updates a particular slice of image data that is accessed by reference.
|
getFormat, getHeight, getImageClass, getWidth, isByReference, isYUp, setYUp
cloneNodeComponent, duplicateNodeComponent, duplicateNodeComponent, getDuplicateOnCloneTree, setDuplicateOnCloneTree
clearCapability, clearCapabilityIsFrequent, duplicateSceneGraphObject, getCapability, getCapabilityIsFrequent, getName, getUserData, isCompiled, isLive, setCapability, setCapabilityIsFrequent, setName, setUserData, toString, updateNodeReferences
public ImageComponent3D(int format, int width, int height, int depth)
format
- the image component format, one of: FORMAT_RGB,
FORMAT_RGBA, etc.width
- the number of columns of pixels in this image component
objectheight
- the number of rows of pixels in this image component
objectdepth
- the number of 2D slices in this image component objectIllegalArgumentException
- if format is invalid, or if
any of width, height, or depth are not positive.public ImageComponent3D(int format, BufferedImage[] images)
format
- the image component format, one of: FORMAT_RGB,
FORMAT_RGBA etc.images
- an array of BufferedImage objects. The
first image in the array determines the width and height of this
ImageComponent3D.IllegalArgumentException
- if format is invalid, or if
the width or height of the first image are not positive.public ImageComponent3D(int format, RenderedImage[] images)
format
- the image component format, one of: FORMAT_RGB,
FORMAT_RGBA etc.images
- an array of RenderedImage objects. The
first image in the array determines the width and height of this
ImageComponent3D.IllegalArgumentException
- if format is invalid, or if
the width or height of the first image are not positive.public ImageComponent3D(int format, int width, int height, int depth, boolean byReference, boolean yUp)
format
- the image component format, one of: FORMAT_RGB,
FORMAT_RGBA, etc.width
- the number of columns of pixels in this image component
objectheight
- the number of rows of pixels in this image component
objectdepth
- the number of 2D slices in this image component objectbyReference
- a flag that indicates whether the data is copied
into this image component object or is accessed by reference.yUp
- a flag that indicates the y-orientation of this image
component. If yUp is set to true, the origin of the image is
the lower left; otherwise, the origin of the image is the upper
left.IllegalArgumentException
- if format is invalid, or if
any of width, height, or depth are not positive.public ImageComponent3D(int format, BufferedImage[] images, boolean byReference, boolean yUp)
format
- the image component format, one of: FORMAT_RGB,
FORMAT_RGBA etc.images
- an array of BufferedImage objects. The
first image in the array determines the width and height of this
ImageComponent3D.byReference
- a flag that indicates whether the data is copied
into this image component object or is accessed by reference.yUp
- a flag that indicates the y-orientation of this image
component. If yUp is set to true, the origin of the image is
the lower left; otherwise, the origin of the image is the upper
left.IllegalArgumentException
- if format is invalid, or if
the width or height of the first image are not positive.public ImageComponent3D(int format, RenderedImage[] images, boolean byReference, boolean yUp)
format
- the image component format, one of: FORMAT_RGB,
FORMAT_RGBA etc.images
- an array of RenderedImage objects. The
first image in the array determines the width and height of this
ImageComponent3D.byReference
- a flag that indicates whether the data is copied
into this image component object or is accessed by reference.yUp
- a flag that indicates the y-orientation of this image
component. If yUp is set to true, the origin of the image is
the lower left; otherwise, the origin of the image is the upper
left.IllegalArgumentException
- if format is invalid, or if
the width or height of the first image are not positive.public ImageComponent3D(int format, NioImageBuffer[] images, boolean byReference, boolean yUp)
format
- the image component format, one of: FORMAT_RGB,
FORMAT_RGBA etc.images
- an array of NioImageBuffer objects. The
first image in the array determines the width and height of this
ImageComponent3D.byReference
- a flag that indicates whether the data is copied
into this image component object or is accessed by reference.yUp
- a flag that indicates the y-orientation of this image
component. If yUp is set to true, the origin of the image is
the lower left; otherwise, the origin of the image is the upper
left.IllegalArgumentException
- if format is invalid, or if
the width or height of the first image are not positive.IllegalArgumentException
- if the byReference flag is false.IllegalArgumentException
- if the yUp flag is false.UnsupportedOperationException
- this method is not supported
for Java 3D 1.5.public int getDepth()
CapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graphpublic void set(BufferedImage[] images)
The image class is set to ImageClass.BUFFERED_IMAGE.
images
- array of BufferedImage objects containing the image.
The size (width and height) of each image must be the same as the
size of the image component, and the length of the images array
must equal the depth of the image component.CapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graphIllegalArgumentException
- if the length of the images array is
not equal to the depth of this ImageComponent object.IllegalArgumentException
- if the width and height of each
image in the images array is not equal to the width and height of this
ImageComponent object.public void set(RenderedImage[] images)
The image class is set to ImageClass.RENDERED_IMAGE if the data access mode is by-reference and any of the specified RenderedImages is not an instance of BufferedImage. In all other cases, the image class is set to ImageClass.BUFFERED_IMAGE.
images
- array of RenderedImage objects containing the image.
The size (width and height) of each image must be the same as the
size of the image component, and the length of the images array
must equal the depth of the image component.CapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graphIllegalArgumentException
- if the length of the images array is
not equal to the depth of this ImageComponent object.IllegalArgumentException
- if the width and height of each
image in the images array is not equal to the width and height of this
ImageComponent object.public void set(NioImageBuffer[] images)
The image class is set to ImageClass.NIO_IMAGE_BUFFER.
images
- array of NioImageBuffer objects containing the image.
The size (width and height) of each image must be the same as the
size of the image component, and the length of the images array
must equal the depth of the image component.CapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graphIllegalStateException
- if this ImageComponent object
is not yUp.IllegalArgumentException
- if the length of the images array is
not equal to the depth of this ImageComponent object.IllegalArgumentException
- if the width and height of each
image in the images array is not equal to the width and height of this
ImageComponent object.UnsupportedOperationException
- this method is not supported
for Java 3D 1.5.public void set(int index, BufferedImage image)
index
- the image index.
The index must be less than the depth of this ImageComponent3D object.image
- BufferedImage object containing the image.
The size (width and height) must be the same as the current size of this
ImageComponent3D object.CapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graphIllegalStateException
- if the image class is not
ImageClass.BUFFERED_IMAGE.IllegalArgumentException
- if the width and height the image
is not equal to the width and height of this ImageComponent object.public void set(int index, RenderedImage image)
index
- the image index.
The index must be less than the depth of this ImageComponent3D object.image
- RenderedImage object containing the image.
The size (width and height) must be the same as the current size of this
ImageComponent3D object.CapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graphIllegalStateException
- if the image class is not one of:
ImageClass.BUFFERED_IMAGE or ImageClass.RENDERED_IMAGE.IllegalArgumentException
- if the width and height the image
is not equal to the width and height of this ImageComponent object.public void set(int index, NioImageBuffer image)
index
- the image index.
The index must be less than the depth of this ImageComponent3D object.image
- NioImageBuffer object containing the image.
The size (width and height) must be the same as the current size of this
ImageComponent3D object.CapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graphIllegalStateException
- if the image class is not
ImageClass.NIO_IMAGE_BUFFER.IllegalArgumentException
- if the width and height the image
is not equal to the width and height of this ImageComponent object.UnsupportedOperationException
- this method is not supported
for Java 3D 1.5.public BufferedImage[] getImage()
CapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graphIllegalStateException
- if the image class is not
ImageClass.BUFFERED_IMAGE.public RenderedImage[] getRenderedImage()
CapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graphIllegalStateException
- if the image class is not one of:
ImageClass.BUFFERED_IMAGE or ImageClass.RENDERED_IMAGE.public NioImageBuffer[] getNioImage()
CapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graphIllegalStateException
- if the image class is not
ImageClass.NIO_IMAGE_BUFFER.UnsupportedOperationException
- this method is not supported
for Java 3D 1.5.public BufferedImage getImage(int index)
index
- the index of the image to retrieve.
The index must be less than the depth of this ImageComponent3D object.CapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graphIllegalStateException
- if the image class is not
ImageClass.BUFFERED_IMAGE.public RenderedImage getRenderedImage(int index)
index
- the index of the image to retrieve.
The index must be less than the depth of this ImageComponent3D object.CapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graphIllegalStateException
- if the image class is not one of:
ImageClass.BUFFERED_IMAGE or ImageClass.RENDERED_IMAGE.public NioImageBuffer getNioImage(int index)
index
- the index of the image to retrieve.
The index must be less than the depth of this ImageComponent3D object.CapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graphIllegalStateException
- if the image class is not
ImageClass.NIO_IMAGE_BUFFER.UnsupportedOperationException
- this method is not supported
for Java 3D 1.5.public void setSubImage(int index, RenderedImage image, int width, int height, int srcX, int srcY, int dstX, int dstY)
index
- index of the image to be modified.
The index must be less than the depth of this ImageComponent3D object.image
- RenderedImage object containing the subimage.width
- width of the subregion.height
- height of the subregion.srcX
- starting X offset of the subregion in the specified image.srcY
- starting Y offset of the subregion in the specified image.dstX
- startin X offset of the subregion in the image
component of this object.dstY
- starting Y offset of the subregion in the image
component of this object.CapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graphIllegalStateException
- if the data access mode is
BY_REFERENCE
.IllegalArgumentException
- if width
or
height
of
the subregion exceeds the dimension of the image in this object.IllegalArgumentException
- if dstX
< 0, or
(dstX
+ width
) > width of this object, or
dstY
< 0, or
(dstY
+ height
) > height of this object.IllegalArgumentException
- if srcX
< 0, or
(srcX
+ width
) > width of the RenderedImage
object containing the subimage, or
srcY
< 0, or
(srcY
+ height
) > height of the
RenderedImage object containing the subimage.IllegalArgumentException
- if the specified RenderedImage
is not compatible with the existing RenderedImage.IllegalStateException
- if the image class is not one of:
ImageClass.BUFFERED_IMAGE or ImageClass.RENDERED_IMAGE.public void updateData(ImageComponent3D.Updater updater, int index, int x, int y, int width, int height)
The data to be modified has to be within the boundary of the subregion specified by the offset (x, y) and the dimension (width*height). It is illegal to modify data outside this boundary. If any referenced data is modified outside the updateData method, or any data outside the specified boundary is modified, the results are undefined.
updater
- object whose updateData callback method will be
called to update the data referenced by this ImageComponent3D object.index
- index of the image to be modified.
The index must be less than the depth of this ImageComponent3D object.x
- starting X offset of the subregion.y
- starting Y offset of the subregion.width
- width of the subregion.height
- height of the subregion.CapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graphIllegalStateException
- if the data access mode is
BY_COPY
.IllegalArgumentException
- if width
or
height
of
the subregion exceeds the dimension of the image in this object.IllegalArgumentException
- if x
< 0, or
(x
+ width
) > width of this object, or
y
< 0, or
(y
+ height
) > height of this object.ArrayIndexOutOfBoundsException
- if index
> the
depth of this object.public NodeComponent cloneNodeComponent()
cloneNodeComponent
in class NodeComponent
Copyright © 2016–2022 SciJava. All rights reserved.