- java.lang.Object
-
- javafx.scene.image.Image
-
- 已知直接子类:
-
WritableImage
public class Image extends Object
Image
类表示图形图像,用于从指定的URL加载图像。支持的图像格式有:
图像可以在加载时调整大小(例如减少图像消耗的内存量)。 应用程序可以指定缩放时使用的过滤质量,以及是否保留原始图像的宽高比。
URL
支持的所有URL都可以传递给构造函数。 如果传递的字符串不是有效的URL,而是路径,那么在这种情况下,在类路径上搜索映像。使用
ImageView
显示加载此类的图像。 相同的Image
实例可以由多个ImageView
s显示。加载图像的示例代码。
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);
- 从以下版本开始:
- JavaFX 2.0
-
-
Property Summary
Properties Type Property 描述 ReadOnlyBooleanProperty
error
指示在加载图像时是否检测到错误。ReadOnlyObjectProperty<异常>
exception
导致图像加载失败的异常。ReadOnlyDoubleProperty
height
图像高度或0
如果图像加载失败。ReadOnlyDoubleProperty
progress
已完成图像加载的大致百分比。ReadOnlyDoubleProperty
width
图像宽度或0
如果图像加载失败。
-
构造方法摘要
构造方法 Constructor 描述 Image(InputStream is)
构造一个Image
并从指定的输入流中加载内容。Image(InputStream is, double requestedWidth, double requestedHeight, boolean preserveRatio, boolean smooth)
使用指定的参数构建新的Image
。Image(String url)
构造一个Image
其中包含从指定的url加载的内容。Image(String url, boolean backgroundLoading)
使用指定的参数构建新的Image
。Image(String url, double requestedWidth, double requestedHeight, boolean preserveRatio, boolean smooth)
构造新的Image
与指定的参数。Image(String url, double requestedWidth, double requestedHeight, boolean preserveRatio, boolean smooth, boolean backgroundLoading)
使用指定的参数构建新的Image
。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 void
cancel()
取消此图像的后台加载。ReadOnlyBooleanProperty
errorProperty()
指示在加载图像时是否检测到错误。ReadOnlyObjectProperty<异常>
exceptionProperty()
导致图像加载失败的异常。异常
getException()
获取属性异常的值。double
getHeight()
获取属性高度的值。PixelReader
getPixelReader()
该方法返回一个PixelReader
,如果图像可读,则可以访问该图像的像素。double
getProgress()
获取属性进度的值。double
getRequestedHeight()
获取必要时调整大小的源图像的边界框的高度。double
getRequestedWidth()
获取必要时调整大小的源图像的边界框的宽度。String
getUrl()
返回用于获取Image实例中包含的像素数据的URL,如果在构造函数中指定。double
getWidth()
获取属性宽度的值。ReadOnlyDoubleProperty
heightProperty()
图像高度或0
如果图像加载失败。boolean
isBackgroundLoading()
指示图像是否在后台加载。boolean
isError()
获取属性错误的值。boolean
isPreserveRatio()
指示当缩放以适应width
和height
提供的边界框内的图像时是否保留原始图像的height
。boolean
isSmooth()
指示当缩放此图像以适应width
和height
提供的边框内时是否使用更好的质量过滤算法或更快的过滤算法。ReadOnlyDoubleProperty
progressProperty()
已完成图像加载的大致百分比。ReadOnlyDoubleProperty
widthProperty()
图像宽度或0
如果图像加载失败。
-
-
-
Property Detail
-
progress
public final ReadOnlyDoubleProperty progressProperty
已完成图像加载的大致百分比。 0和1之间的正值,其中0为0%,1为100%。- Default value:
- 0
- 另请参见:
-
getProgress()
-
width
public final ReadOnlyDoubleProperty widthProperty
图像宽度或0
如果图像加载失败。 图像正在加载时,设置为0
。- 另请参见:
-
getWidth()
-
height
public final ReadOnlyDoubleProperty heightProperty
图像高度或0
如果图像加载失败。 图像正在加载时,设置为0
。- 另请参见:
-
getHeight()
-
error
public final ReadOnlyBooleanProperty errorProperty
指示在加载图像时是否检测到错误。- Default value:
- 假
- 另请参见:
-
isError()
-
exception
public final ReadOnlyObjectProperty<异常> exceptionProperty
导致图像加载失败的异常。 仅当error
属性设置为true
才包含非空值。- 从以下版本开始:
- JavaFX 8.0
- 另请参见:
-
getException()
-
-
构造方法详细信息
-
Image
public Image(String url)
构造一个Image
其中内容从指定的URL载入。- 参数
-
url
- 表示用于获取像素数据的URL的字符串 - 异常
-
NullPointerException
- 如果URL为null -
IllegalArgumentException
- 如果网址无效或不受支持
-
Image
public Image(String url, boolean backgroundLoading)
使用指定的参数构建新的Image
。- 参数
-
url
- 表示获取像素数据时使用的URL的字符串 -
backgroundLoading
- 指示图像是否在后台加载 - 异常
-
NullPointerException
- 如果URL为空 -
IllegalArgumentException
- 如果网址无效或不受支持
-
Image
public Image(String url, double requestedWidth, double requestedHeight, boolean preserveRatio, boolean smooth)
使用指定的参数构建新的Image
。- 参数
-
url
- 表示用于获取像素数据的URL的字符串 -
requestedWidth
- 图像的边框宽度 -
requestedHeight
- 图像的边框高度 -
preserveRatio
- 指示当缩放以适应指定边界框内的图像时是否保留原始图像的宽高比 -
smooth
- 指示是否使用更好的质量过滤算法或更快的缩放此图像以适应指定的边界框 - 异常
-
NullPointerException
- 如果URL为空 -
IllegalArgumentException
- 如果网址无效或不受支持
-
Image
public Image(String url, double requestedWidth, double requestedHeight, boolean preserveRatio, boolean smooth, boolean backgroundLoading)
构造新的Image
与指定的参数。 没有方案的url是相对于classpath来处理的,url的方案根据方案进行处理,使用URL.openStream()
- 参数
-
url
- 表示用于获取像素数据的URL的字符串 -
requestedWidth
- 图像的边框宽度 -
requestedHeight
- 图像的边框高度 -
preserveRatio
- 表示当缩放以适应指定边框内的图像时是否保留原始图像的宽高比 -
smooth
- 指示是否使用更好的质量过滤算法或更快的缩放此图像以适应指定的边界框 -
backgroundLoading
- 指示图像是否在后台加载 - 异常
-
NullPointerException
- 如果URL为null -
IllegalArgumentException
- 如果网址无效或不受支持
-
Image
public Image(InputStream is)
构造一个Image
并从指定的输入流中加载内容。- 参数
-
is
- 从中加载图像的流 - 异常
-
NullPointerException
- 如果输入流为空
-
Image
public Image(InputStream is, double requestedWidth, double requestedHeight, boolean preserveRatio, boolean smooth)
使用指定的参数构建新的Image
。- 参数
-
is
- 加载图像的流 -
requestedWidth
- 图像的边框宽度 -
requestedHeight
- 图像的边框高度 -
preserveRatio
- 表示当缩放以适应指定边框内的图像时是否保留原始图像的宽高比 -
smooth
- 指示当缩放此图像以适应指定的边界框内时是否使用更好的质量过滤算法或更快的过滤算法 - 异常
-
NullPointerException
- 如果输入流为空
-
-
方法详细信息
-
getUrl
public final String getUrl()
返回用于获取Image实例中包含的像素数据的URL,如果在构造函数中指定。 如果构造函数中没有提供url(例如,如果图像是由InputStream
构造的),则此方法将返回null。- 结果
- 一个包含用于获取此Image实例的像素数据的URL的字符串。
- 从以下版本开始:
- 9
-
getProgress
public final double getProgress()
获取属性进度的值。- Property description:
- 已完成图像加载的大致百分比。 0和1之间的正值,其中0为0%,1为100%。
- Default value:
- 0
-
progressProperty
public final ReadOnlyDoubleProperty progressProperty()
已完成图像加载的大致百分比。 0和1之间的正值,其中0为0%,1为100%。- Default value:
- 0
- 另请参见:
-
getProgress()
-
getRequestedWidth
public final double getRequestedWidth()
获取必要时调整大小的源图像的边界框的宽度。 如果设置为值<= 0
,则将使用图像的固有宽度。见
preserveRatio
对图像的互动信息requestedWidth
,requestedHeight
和preserveRatio
属性。- 结果
- 请求的宽度
-
getRequestedHeight
public final double getRequestedHeight()
获取必要时调整大小的源图像的边界框的高度。 如果设置为值<= 0
,则将使用图像的固有高度。见
preserveRatio
对图像的互动信息requestedWidth
,requestedHeight
和preserveRatio
属性。- 结果
- 请求的高度
-
getWidth
public final double getWidth()
获取属性宽度的值。- Property description:
-
图像宽度或
0
如果图像加载失败。 当图像正在加载时,它设置为0
。
-
widthProperty
public final ReadOnlyDoubleProperty widthProperty()
图像宽度或0
如果图像加载失败。 图像正在加载时,设置为0
。- 另请参见:
-
getWidth()
-
getHeight
public final double getHeight()
获取属性高度的值。- Property description:
-
图像高度或
0
如果图像加载失败。 当图像正在加载时,它设置为0
。
-
heightProperty
public final ReadOnlyDoubleProperty heightProperty()
图像高度或0
如果图像加载失败。 图像正在加载时,设置为0
。- 另请参见:
-
getHeight()
-
isPreserveRatio
public final boolean isPreserveRatio()
指示当缩放以适应width
和height
提供的边框内的图像时是否保留原始图像的height
。如果设置为
true
,Image
下列方式影响此Image
的尺寸:- 如果仅设置了
width
,则将高度缩放以保持比例 - 如果仅设置
height
,则将缩放宽度以保持比例 - 如果两者都被设置,它们都可以被缩放以便在宽度乘以高度矩形的同时保持原始宽高比
width
和height
可能与初始设置值不同,如果需要调整以保持宽高比。 如果未设置或设置为false
,它将以以下方式影响此ImageView
的尺寸:- 如果仅设置了
width
,则图像的宽度将缩放匹配,高度不变; - 如果仅设置了
height
,则图像的高度被缩放以匹配,高度不变; - 如果两者都设置,则图像被缩放以匹配两者。
- 结果
-
如果在缩放以适应由
width
和height
提供的边界框内的图像时要保留原始图像的纵横比,width
height
。
- 如果仅设置了
-
isSmooth
public final boolean isSmooth()
指示是否使用更好的质量过滤算法或更快的过滤算法缩放此图像以适合width
和height
提供的边界框内。如果没有初始化或设置为
true
将使用更好的质量过滤,否则将使用更快更低质量的过滤。- 结果
-
如果使用更好的质量(但较慢)的滤波算法进行缩放以适合由
width
和height
提供的边界框内,width
height
。
-
isBackgroundLoading
public final boolean isBackgroundLoading()
指示图像是否在后台加载。- 结果
- 如果图像在后台加载,则为true
-
isError
public final boolean isError()
获取属性错误的值。- Property description:
- 指示在加载图像时是否检测到错误。
- Default value:
- 假
-
errorProperty
public final ReadOnlyBooleanProperty errorProperty()
指示在加载图像时是否检测到错误。- Default value:
- 假
- 另请参见:
-
isError()
-
getException
public final 异常 getException()
获取属性异常的值。- Property description:
-
导致图像加载失败的异常。
仅当
error
属性设置为true
才包含非空值。 - 从以下版本开始:
- JavaFX 8.0
-
exceptionProperty
public final ReadOnlyObjectProperty<异常> exceptionProperty()
导致图像加载失败的异常。 仅当error
属性设置为true
才包含非空值。- 从以下版本开始:
- JavaFX 8.0
- 另请参见:
-
getException()
-
cancel
public void cancel()
取消此图像的后台加载。如果此图像未在后台加载或加载已完成,则不起作用。
-
getPixelReader
public final PixelReader getPixelReader()
该方法返回一个PixelReader
,如果图像可读,则可以访问该图像的像素。 如果此方法返回null,则此映像此时不支持读取。 如果图像从源加载并且仍然不完整,则该方法将返回null {进度仍然<1.0)或者是否存在错误。 此方法也可能以不支持读取和写入像素的格式为某些图像返回null。- 结果
-
用于读取图像的像素数据的
PixelReader
- 从以下版本开始:
- JavaFX 2.2
-
-