Class Image
- Direct Known Subclasses:
WritableImage
public class Image extends Object
Image class represents graphical images and is used for loading images from a specified URL. Supported image formats are:
Images can be resized as they are loaded (for example to reduce the amount of memory consumed by the image). The application can specify the quality of filtering used when scaling, and whether or not to preserve the original image's aspect ratio.
If a URL string is passed to a constructor, it be any of the following:
- the name of a resource that can be resolved by the context
ClassLoaderfor this thread - a file path that can be resolved by
File - a URL that can be resolved by
URLand for which a protocol handler exists
The RFC 2397 "data" scheme for URLs is supported in addition to the protocol handlers that are registered for the application. If a URL uses the "data" scheme, the data must be base64-encoded and the MIME type must be a subtype of the image type. The MIME type must match the image format of the data contained in the URL. In case of a mismatch between MIME type and image format, the image will be loaded if the image format can be determined by JavaFX, and a warning will be logged.
Use ImageView for displaying images loaded with this class. The same Image instance can be displayed by multiple ImageViews.
Example code for loading images:
import javafx.scene.image.Image;
// load an image in background, displaying a placeholder while it's loading
// (assuming there's an ImageView node somewhere displaying this image)
// The image is located in default package of the classpath
Image image1 = new Image("/flower.png", true);
// load an image and resize it to 100x150 without preserving its original
// aspect ratio
// The image is located in my.res package of the classpath
Image image2 = new Image("my/res/flower.png", 100, 150, false, false);
// load an image and resize it to width of 100 while preserving its
// original aspect ratio, using faster filtering method
// The image is downloaded from the supplied URL through http protocol
Image image3 = new Image("http://sample.com/res/flower.png", 100, 0, false, false);
// load an image and resize it only in one dimension, to the height of 100 and
// the original width, without preserving original aspect ratio
// The image is located in the current working directory
Image image4 = new Image("file:flower.png", 0, 100, false, false);
- Since:
- JavaFX 2.0
Property Summary
| Type | Property | Description |
|---|---|---|
final ReadOnlyBooleanProperty |
error |
Indicates whether an error was detected while loading an image. |
final ReadOnlyObjectProperty<Exception> |
exception |
The exception which caused image loading to fail. |
final ReadOnlyDoubleProperty |
height |
The image height or 0 if the image loading fails. |
final ReadOnlyDoubleProperty |
progress |
The approximate percentage of image's loading that has been completed. |
final ReadOnlyDoubleProperty |
width |
The image width or 0 if the image loading fails. |
Constructor Summary
| Constructor | Description |
|---|---|
Image |
Constructs an Image with content loaded from the specified input stream. |
Image |
Constructs a new Image with the specified parameters. |
Image |
Constructs an Image with content loaded from the specified URL. |
Image |
Constructs an Image with content loaded from the specified URL using the specified parameters. |
Image |
Constructs an Image with content loaded from the specified URL using the specified parameters. |
Image |
Constructs an Image with content loaded from the specified URL using the specified parameters. |
Method Summary
| Modifier and Type | Method | Description |
|---|---|---|
void |
cancel() |
Cancels the background loading of this image. |
final ReadOnlyBooleanProperty |
errorProperty() |
Indicates whether an error was detected while loading an image. |
final ReadOnlyObjectProperty<Exception> |
exceptionProperty() |
The exception which caused image loading to fail. |
final Exception |
getException() |
Gets the value of the exception property. |
final double |
getHeight() |
Gets the value of the height property. |
final PixelReader |
getPixelReader() |
This method returns a PixelReader that provides access to read the pixels of the image, if the image is readable. |
final double |
getProgress() |
Gets the value of the progress property. |
final double |
getRequestedHeight() |
Gets the height of the bounding box within which the source image is resized as necessary to fit. |
final double |
getRequestedWidth() |
Gets the width of the bounding box within which the source image is resized as necessary to fit. |
final String |
getUrl() |
Returns the url used to fetch the pixel data contained in the Image instance, if specified in the constructor. |
final double |
getWidth() |
Gets the value of the width property. |
final ReadOnlyDoubleProperty |
heightProperty() |
The image height or 0 if the image loading fails. |
final boolean |
isBackgroundLoading() |
Indicates whether the image is being loaded in the background. |
final boolean |
isError() |
Gets the value of the error property. |
final boolean |
isPreserveRatio() |
Indicates whether to preserve the aspect ratio of the original image when scaling to fit the image within the bounding box provided by width and height. |
final boolean |
isSmooth() |
Indicates whether to use a better quality filtering algorithm or a faster one when scaling this image to fit within the bounding box provided by width and height. |
final ReadOnlyDoubleProperty |
progressProperty() |
The approximate percentage of image's loading that has been completed. |
final ReadOnlyDoubleProperty |
widthProperty() |
The image width or 0 if the image loading fails. |
Property Details
progress
public final ReadOnlyDoubleProperty progressProperty
- Default value:
- 0
- See Also:
width
public final ReadOnlyDoubleProperty widthProperty
0 if the image loading fails. While the image is being loaded it is set to 0.- See Also:
height
public final ReadOnlyDoubleProperty heightProperty
0 if the image loading fails. While the image is being loaded it is set to 0.- See Also:
error
public final ReadOnlyBooleanProperty errorProperty
- Default value:
- false
- See Also:
exception
public final ReadOnlyObjectProperty<Exception> exceptionProperty
error property is set to true.- Since:
- JavaFX 8.0
- See Also:
Constructor Details
Image
public Image(String url)
Image with content loaded from the specified URL.- Parameters:
-
url- a resource path, file path, or URL - Throws:
-
NullPointerException- ifurlis null -
IllegalArgumentException- ifurlis invalid or unsupported
Image
public Image(String url, boolean backgroundLoading)
Image with content loaded from the specified URL using the specified parameters.- Parameters:
-
url- a resource path, file path, or URL -
backgroundLoading- indicates whether the image is being loaded in the background - Throws:
-
NullPointerException- ifurlis null -
IllegalArgumentException- ifurlis invalid or unsupported
Image
public Image(String url, double requestedWidth, double requestedHeight, boolean preserveRatio, boolean smooth)
Image with content loaded from the specified URL using the specified parameters.- Parameters:
-
url- a resource path, file path, or URL -
requestedWidth- the image's bounding box width -
requestedHeight- the image's bounding box height -
preserveRatio- indicates whether to preserve the aspect ratio of the original image when scaling to fit the image within the specified bounding box -
smooth- indicates whether to use a better quality filtering algorithm or a faster one when scaling this image to fit within the specified bounding box - Throws:
-
NullPointerException- ifurlis null -
IllegalArgumentException- ifurlis invalid or unsupported
Image
public Image(String url, double requestedWidth, double requestedHeight, boolean preserveRatio, boolean smooth, boolean backgroundLoading)
Image with content loaded from the specified URL using the specified parameters.- Parameters:
-
url- a resource path, file path, or URL -
requestedWidth- the image's bounding box width -
requestedHeight- the image's bounding box height -
preserveRatio- indicates whether to preserve the aspect ratio of the original image when scaling to fit the image within the specified bounding box -
smooth- indicates whether to use a better quality filtering algorithm or a faster one when scaling this image to fit within the specified bounding box -
backgroundLoading- indicates whether the image is being loaded in the background - Throws:
-
NullPointerException- ifurlis null -
IllegalArgumentException- ifurlis invalid or unsupported
Image
public Image(InputStream is)
Image with content loaded from the specified input stream.- Parameters:
-
is- the stream from which to load the image - Throws:
-
NullPointerException- if input stream is null
Image
public Image(InputStream is, double requestedWidth, double requestedHeight, boolean preserveRatio, boolean smooth)
Image with the specified parameters.- Parameters:
-
is- the stream from which to load the image -
requestedWidth- the image's bounding box width -
requestedHeight- the image's bounding box height -
preserveRatio- indicates whether to preserve the aspect ratio of the original image when scaling to fit the image within the specified bounding box -
smooth- indicates whether to use a better quality filtering algorithm or a faster one when scaling this image to fit within the specified bounding box - Throws:
-
NullPointerException- if input stream is null
Method Details
getUrl
public final String getUrl()
InputStream), this method will return null.- Returns:
- a String containing the URL used to fetch the pixel data for this Image instance.
- Since:
- 9
getProgress
public final double getProgress()
progress property.- Property description:
- The approximate percentage of image's loading that has been completed. A positive value between 0 and 1 where 0 is 0% and 1 is 100%.
- Default value:
- 0
- Returns:
- the value of the
progressproperty - See Also:
progressProperty
public final ReadOnlyDoubleProperty progressProperty()
- Default value:
- 0
- Returns:
- the
progressproperty - See Also:
getRequestedWidth
public final double getRequestedWidth()
<= 0, then the intrinsic width of the image will be used. See preserveRatio for information on interaction between image's requestedWidth, requestedHeight and preserveRatio attributes.
- Returns:
- The requested width
getRequestedHeight
public final double getRequestedHeight()
<= 0, then the intrinsic height of the image will be used. See preserveRatio for information on interaction between image's requestedWidth, requestedHeight and preserveRatio attributes.
- Returns:
- The requested height
getWidth
public final double getWidth()
width property.- Property description:
- The image width or
0if the image loading fails. While the image is being loaded it is set to0. - Returns:
- the value of the
widthproperty - See Also:
widthProperty
public final ReadOnlyDoubleProperty widthProperty()
0 if the image loading fails. While the image is being loaded it is set to 0.- Returns:
- the
widthproperty - See Also:
getHeight
public final double getHeight()
height property.- Property description:
- The image height or
0if the image loading fails. While the image is being loaded it is set to0. - Returns:
- the value of the
heightproperty - See Also:
heightProperty
public final ReadOnlyDoubleProperty heightProperty()
0 if the image loading fails. While the image is being loaded it is set to 0.- Returns:
- the
heightproperty - See Also:
isPreserveRatio
public final boolean isPreserveRatio()
width and height. If set to true, it affects the dimensions of this Image in the following way:
- If only
widthis set, height is scaled to preserve ratio - If only
heightis set, width is scaled to preserve ratio - If both are set, they both may be scaled to get the best fit in a width by height rectangle while preserving the original aspect ratio
width and height may be different from the initially set values if they needed to be adjusted to preserve aspect ratio. If unset or set to false, it affects the dimensions of this ImageView in the following way: - If only
widthis set, the image's width is scaled to match and height is unchanged; - If only
heightis set, the image's height is scaled to match and height is unchanged; - If both are set, the image is scaled to match both.
- Returns:
- true if the aspect ratio of the original image is to be preserved when scaling to fit the image within the bounding box provided by
widthandheight.
isSmooth
public final boolean isSmooth()
width and height. If not initialized or set to true a better quality filtering will be used, otherwise a faster but lesser quality filtering will be used.
- Returns:
- true if a better quality (but slower) filtering algorithm is used for scaling to fit within the bounding box provided by
widthandheight.
isBackgroundLoading
public final boolean isBackgroundLoading()
- Returns:
- true if the image is loaded in the background
isError
public final boolean isError()
error property.- Property description:
- Indicates whether an error was detected while loading an image.
- Default value:
- false
- Returns:
- the value of the
errorproperty - See Also:
errorProperty
public final ReadOnlyBooleanProperty errorProperty()
- Default value:
- false
- Returns:
- the
errorproperty - See Also:
getException
public final Exception getException()
exception property.- Property description:
- The exception which caused image loading to fail. Contains a non-null value only if the
errorproperty is set totrue. - Returns:
- the value of the
exceptionproperty - Since:
- JavaFX 8.0
- See Also:
exceptionProperty
public final ReadOnlyObjectProperty<Exception> exceptionProperty()
error property is set to true.- Returns:
- the
exceptionproperty - Since:
- JavaFX 8.0
- See Also:
cancel
public void cancel()
Has no effect if this image isn't loaded in background or if loading has already completed.
getPixelReader
public final PixelReader getPixelReader()
PixelReader that provides access to read the pixels of the image, if the image is readable. If this method returns null then this image does not support reading at this time. This method will return null if the image is being loaded from a source and is still incomplete {the progress is still <1.0) or if there was an error. This method may also return null for some images in a format that is not supported for reading and writing pixels to.- Returns:
- the
PixelReaderfor reading the pixel data of the image - Since:
- JavaFX 2.2
© 2008, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from JavaFX API Documentation.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Java, JavaFX and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.