Class Image
- Direct Known Subclasses:
- WritableImage
Image class represents graphical images and is used for loading
 images from a specified URL.
 JavaFX has built-in support for the following image formats:
For all other formats, JavaFX uses theJava Image I/O API on supported platforms.
 Image I/O is extensible so that developers can "plug-in" support for additional formats.
 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 to preserve the original image's aspect ratio.
If a URL string is passed to a constructor, it can 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 SummaryPropertiesTypePropertyDescriptionfinal ReadOnlyBooleanPropertyIndicates whether an error was detected while loading an image.final ReadOnlyObjectProperty<Exception> The exception which caused image loading to fail.final ReadOnlyDoublePropertyThe image height or0if the image loading fails.final ReadOnlyDoublePropertyThe approximate percentage of image's loading that has been completed.final ReadOnlyDoublePropertyThe image width or0if the image loading fails.
- 
Constructor SummaryConstructorsConstructorDescriptionImage(InputStream is) Constructs anImagewith content loaded from the specified input stream.Image(InputStream is, double requestedWidth, double requestedHeight, boolean preserveRatio, boolean smooth) Constructs a newImagewith the specified parameters.Constructs anImagewith content loaded from the specified URL.Constructs anImagewith content loaded from the specified URL using the specified parameters.Image(String url, double requestedWidth, double requestedHeight, boolean preserveRatio, boolean smooth) Constructs anImagewith content loaded from the specified URL using the specified parameters.Image(String url, double requestedWidth, double requestedHeight, boolean preserveRatio, boolean smooth, boolean backgroundLoading) Constructs anImagewith content loaded from the specified URL using the specified parameters.
- 
Method SummaryModifier and TypeMethodDescriptionvoidcancel()Cancels the background loading of this image.final ReadOnlyBooleanPropertyIndicates whether an error was detected while loading an image.final ReadOnlyObjectProperty<Exception> The exception which caused image loading to fail.final ExceptionGets the value of theexceptionproperty.final doubleGets the value of theheightproperty.final PixelReaderThis method returns aPixelReaderthat provides access to read the pixels of the image, if the image is readable.final doubleGets the value of theprogressproperty.final doubleGets the height of the bounding box within which the source image is resized as necessary to fit.final doubleGets the width of the bounding box within which the source image is resized as necessary to fit.final StringgetUrl()Returns the url used to fetch the pixel data contained in the Image instance, if specified in the constructor.final doublegetWidth()Gets the value of thewidthproperty.final ReadOnlyDoublePropertyThe image height or0if the image loading fails.final booleanIndicates whether the image is being loaded in the background.final booleanisError()Gets the value of theerrorproperty.final booleanIndicates whether to preserve the aspect ratio of the original image when scaling to fit the image within the bounding box provided bywidthandheight.final booleanisSmooth()Indicates whether to use a better quality filtering algorithm or a faster one when scaling this image to fit within the bounding box provided bywidthandheight.final ReadOnlyDoublePropertyThe approximate percentage of image's loading that has been completed.final ReadOnlyDoublePropertyThe image width or0if the image loading fails.
- 
Property Details- 
progressThe 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
- See Also:
 
- 
widthThe image width or0if the image loading fails. While the image is being loaded it is set to0.- See Also:
 
- 
heightThe image height or0if the image loading fails. While the image is being loaded it is set to0.- See Also:
 
- 
errorIndicates whether an error was detected while loading an image.- Default value:
- false
- See Also:
 
- 
exceptionThe exception which caused image loading to fail. Contains a non-null value only if theerrorproperty is set totrue.- Since:
- JavaFX 8.0
- See Also:
 
 
- 
- 
Constructor Details- 
ImageConstructs anImagewith content loaded from the specified URL.- Parameters:
- url- a resource path, file path, or URL
- Throws:
- NullPointerException- if- urlis null
- IllegalArgumentException- if- urlis invalid or unsupported
 
- 
ImageConstructs anImagewith 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- if- urlis null
- IllegalArgumentException- if- urlis invalid or unsupported
 
- 
Imagepublic Image(String url, double requestedWidth, double requestedHeight, boolean preserveRatio, boolean smooth) Constructs anImagewith 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- if- urlis null
- IllegalArgumentException- if- urlis invalid or unsupported
 
- 
Imagepublic Image(String url, double requestedWidth, double requestedHeight, boolean preserveRatio, boolean smooth, boolean backgroundLoading) Constructs anImagewith 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- if- urlis null
- IllegalArgumentException- if- urlis invalid or unsupported
 
- 
ImageConstructs anImagewith content loaded from the specified input stream.- Parameters:
- is- the stream from which to load the image
- Throws:
- NullPointerException- if input stream is null
 
- 
Imagepublic Image(InputStream is, double requestedWidth, double requestedHeight, boolean preserveRatio, boolean smooth) Constructs a newImagewith 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- 
getUrlReturns the url used to fetch the pixel data contained in the Image instance, if specified in the constructor. If no url is provided in the constructor (for instance, if the Image is constructed from anInputStream), this method will return null.- Returns:
- a String containing the URL used to fetch the pixel data for this Image instance.
- Since:
- 9
 
- 
getProgresspublic final double getProgress()Gets the value of theprogressproperty.- 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:
 
- 
progressPropertyThe 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 progressproperty
- See Also:
 
- 
getRequestedWidthpublic final double getRequestedWidth()Gets the width of the bounding box within which the source image is resized as necessary to fit. If set to a value<= 0, then the intrinsic width of the image will be used.See preserveRatiofor information on interaction between image'srequestedWidth,requestedHeightandpreserveRatioattributes.- Returns:
- The requested width
 
- 
getRequestedHeightpublic final double getRequestedHeight()Gets the height of the bounding box within which the source image is resized as necessary to fit. If set to a value<= 0, then the intrinsic height of the image will be used.See preserveRatiofor information on interaction between image'srequestedWidth,requestedHeightandpreserveRatioattributes.- Returns:
- The requested height
 
- 
getWidthpublic final double getWidth()Gets the value of thewidthproperty.- 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:
 
- 
widthPropertyThe image width or0if the image loading fails. While the image is being loaded it is set to0.- Returns:
- the widthproperty
- See Also:
 
- 
getHeightpublic final double getHeight()Gets the value of theheightproperty.- 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:
 
- 
heightPropertyThe image height or0if the image loading fails. While the image is being loaded it is set to0.- Returns:
- the heightproperty
- See Also:
 
- 
isPreserveRatiopublic 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 bywidthandheight.If set to true, it affects the dimensions of thisImagein 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
 widthandheightmay be different from the initially set values if they needed to be adjusted to preserve aspect ratio. If unset or set tofalse, it affects the dimensions of thisImageViewin 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.
 
-  If only 
- 
isSmoothpublic 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 bywidthandheight.If not initialized or set to truea 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.
 
- 
isBackgroundLoadingpublic final boolean isBackgroundLoading()Indicates whether the image is being loaded in the background.- Returns:
- true if the image is loaded in the background
 
- 
isErrorpublic final boolean isError()Gets the value of theerrorproperty.- Property description:
- Indicates whether an error was detected while loading an image.
- Default value:
- false
- Returns:
- the value of the errorproperty
- See Also:
 
- 
errorPropertyIndicates whether an error was detected while loading an image.- Default value:
- false
- Returns:
- the errorproperty
- See Also:
 
- 
getExceptionGets the value of theexceptionproperty.- 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:
 
- 
exceptionPropertyThe exception which caused image loading to fail. Contains a non-null value only if theerrorproperty is set totrue.- Returns:
- the exceptionproperty
- Since:
- JavaFX 8.0
- See Also:
 
- 
cancelpublic void cancel()Cancels the background loading of this image.Has no effect if this image isn't loaded in background or if loading has already completed. 
- 
getPixelReaderThis method returns aPixelReaderthat 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
 
 
-