Module  javafx.graphics
软件包  javafx.scene.image

Class 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 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()
      • 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对图像的互动信息requestedWidthrequestedHeightpreserveRatio属性。

        结果
        请求的宽度
      • getRequestedHeight

        public final double getRequestedHeight​()
        获取必要时调整大小的源图像的边界框的高度。 如果设置为值<= 0 ,则将使用图像的固有高度。

        preserveRatio对图像的互动信息requestedWidthrequestedHeightpreserveRatio属性。

        结果
        请求的高度
      • 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​()
        指示当缩放以适应widthheight提供的边框内的图像时是否保留原始图像的height

        如果设置为trueImage下列方式影响此Image的尺寸:

        • 如果仅设置了width ,则将高度缩放以保持比例
        • 如果仅设置height ,则将缩放宽度以保持比例
        • 如果两者都被设置,它们都可以被缩放以便在宽度乘以高度矩形的同时保持原始宽高比
        报告的widthheight可能与初始设置值不同,如果需要调整以保持宽高比。 如果未设置或设置为false ,它将以以下方式影响此ImageView的尺寸:
        • 如果仅设置了width ,则图像的宽度将缩放匹配,高度不变;
        • 如果仅设置了height ,则图像的高度被缩放以匹配,高度不变;
        • 如果两者都设置,则图像被缩放以匹配两者。
        结果
        如果在缩放以适应由 widthheight提供的边界框内的图像时要保留原始图像的纵横比, width height
      • isSmooth

        public final boolean isSmooth​()
        指示是否使用更好的质量过滤算法或更快的过滤算法缩放此图像以适合widthheight提供的边界框内。

        如果没有初始化或设置为true将使用更好的质量过滤,否则将使用更快更低质量的过滤。

        结果
        如果使用更好的质量(但较慢)的滤波算法进行缩放以适合由 widthheight提供的边界框内, 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