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

Class ImageView

  • All Implemented Interfaces:
    StyleableEventTarget


    @DefaultProperty("image")
    public class ImageView
    extends Node
    ImageView是一个Node用于绘制加载Image类的图像。

    此类允许调整显示图像的大小(有或没有保留原始宽高比),并将源视频窗口指定为限制ImageView显示的像素的视口。

    显示图像的示例代码

       import javafx.application.Application; import javafx.geometry.Rectangle2D; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.image.Image; import javafx.scene.image.ImageView; import javafx.scene.layout.HBox; import javafx.scene.paint.Color; import javafx.stage.Stage; public class HelloImageView extends Application { @Override public void start(Stage stage) { // load the image Image image = new Image("flower.png"); // simple displays ImageView the image as is ImageView iv1 = new ImageView(); iv1.setImage(image); // resizes the image to have width of 100 while preserving the ratio and using // higher quality filtering method; this ImageView is also cached to // improve performance ImageView iv2 = new ImageView(); iv2.setImage(image); iv2.setFitWidth(100); iv2.setPreserveRatio(true); iv2.setSmooth(true); iv2.setCache(true); // defines a viewport into the source image (achieving a "zoom" effect) and // displays it rotated ImageView iv3 = new ImageView(); iv3.setImage(image); Rectangle2D viewportRect = new Rectangle2D(40, 35, 110, 110); iv3.setViewport(viewportRect); iv3.setRotate(90); Group root = new Group(); Scene scene = new Scene(root); scene.setFill(Color.BLACK); HBox box = new HBox(); box.getChildren().add(iv1); box.getChildren().add(iv2); box.getChildren().add(iv3); root.getChildren().add(box); stage.setTitle("ImageView"); stage.setWidth(415); stage.setHeight(200); stage.setScene(scene); stage.sizeToScene(); stage.show(); } public static void main(String[] args) { Application.launch(args); } }  

    以上代码产生以下内容:

    ImageView示例的可视化渲染

    从以下版本开始:
    JavaFX 2.0
    • Property Detail

      • fitWidth

        public final DoubleProperty fitWidthProperty
        根据需要调整源图像大小的边框的宽度。 如果设置为值<= 0,则图像的固有宽度将用作fitWidth

        preserveRatio的图像视图的之间的互动信息fitWidthfitHeightpreserveRatio属性。

        Default value:
        0
        另请参见:
        getFitWidth()setFitWidth(double)
      • fitHeight

        public final DoubleProperty fitHeightProperty
        根据需要调整大小的源图像的边界框的高度。 如果设置为值<= 0,则图像的固有高度将用作fitHeight

        preserveRatio的图像视图的之间的互动信息fitWidthfitHeightpreserveRatio属性。

        Default value:
        0
        另请参见:
        getFitHeight()setFitHeight(double)
      • preserveRatio

        public final BooleanProperty preserveRatioProperty
        指示当缩放以适应拟合边界框内的图像时是否保留源图像的宽高比。

        如果设置为trueImageView下列方式影响此ImageView的尺寸*

        • 如果只设置了fitWidth ,则高度被缩放以保持比例
        • 如果仅设置fitHeight ,则将缩放宽度以保持比例
        • 如果两者都被设置,它们都可以被缩放以便在宽度乘以高度矩形的同时保持原始宽高比
        如果未设置或设置为falseImageView以下方式影响此ImageView的尺寸*
        • 如果仅设置fitWidth ,图像的视图宽度将缩放匹配,高度不变;
        • 如果仅设置fitHeight ,则图像的视图高度被缩放以匹配,高度不变;
        • 如果两者都设置,则图像视图被缩放以匹配两者。
        请注意,由节点边界报告的节点的尺寸将等于缩放图像的大小,并保证包含在fitWidth x fitHeight绑定框中。
        Default value:
        另请参见:
        isPreserveRatio()setPreserveRatio(boolean)
      • smooth

        public final BooleanProperty smoothProperty
        指示当转换或缩放源图像以适应fitWidthfitHeight提供的边界框内时是否使用更好的质量过滤算法或更快的过滤算法。

        如果设置为true将使用更好的质量过滤,如果设置为false ,将使用较快的质量过滤。

        默认值取决于平台配置。

        Default value:
        平台依赖性
        另请参见:
        isSmooth()setSmooth(boolean)
      • viewport

        public final ObjectProperty<Rectangle2D> viewportProperty
        矩形视口进入图像。 在缩放或任何其他转换之前,视口在图像的坐标中指定。

        如果viewportnull ,则显示整个图像。 如果viewport为非null ,则仅显示落在视口内的图像部分。 如果图像未完全覆盖视口,则视口的任何剩余区域将为空。

        Default value:
        空值
        另请参见:
        getViewport()setViewport(Rectangle2D)
    • 字段详细信息

      • SMOOTH_DEFAULT

        public static final boolean SMOOTH_DEFAULT
        平台相关的默认值为 smooth属性。
    • 构造方法详细信息

      • ImageView

        public ImageView​()
        分配一个新的ImageView对象。
      • ImageView

        public ImageView​(String url)
        分配一个新的ImageView对象,并从指定的URL加载图像。

        new ImageView(url)具有相同的效果new ImageView(new Image(url))

        参数
        url - 表示加载图像的URL的字符串
        异常
        NullPointerException - 如果URL为null
        IllegalArgumentException - 如果网址无效或不受支持
        从以下版本开始:
        JavaFX 2.1
      • ImageView

        public ImageView​(Image image)
        使用给定的图像分配一个新的ImageView对象。
        参数
        image - ImageView使用的图像
    • 方法详细信息

      • setImage

        public final void setImage​(Image value)
        设置属性图像的值。
        Property description:
        Image要画ImageView
        Default value:
        空值
      • getImage

        public final Image getImage​()
        获取属性映像的值。
        Property description:
        Image将由这ImageView画。
        Default value:
        空值
      • setX

        public final void setX​(double value)
        设置属性x的值。
        Property description:
        当前的x坐标 ImageView起源。
        Default value:
        0
      • getX

        public final double getX​()
        获取属性x的值。
        Property description:
        当前的x坐标 ImageView起源。
        Default value:
        0
      • setY

        public final void setY​(double value)
        设置属性y的值。
        Property description:
        目前的y坐标为 ImageView起源。
        Default value:
        0
      • getY

        public final double getY​()
        获取属性y的值。
        Property description:
        目前的y坐标为 ImageView起源。
        Default value:
        0
      • setFitWidth

        public final void setFitWidth​(double value)
        设置属性fitWidth的值。
        Property description:
        根据需要调整源图像大小的边框的宽度。 如果设置为值<= 0,则图像的固有宽度将用作fitWidth

        preserveRatio的图像视图的之间的互动信息fitWidthfitHeightpreserveRatio属性。

        Default value:
        0
      • getFitWidth

        public final double getFitWidth​()
        获取属性fitWidth的值。
        Property description:
        根据需要调整源图像大小的边框的宽度。 如果设置为值<= 0,则图像的固有宽度将用作fitWidth

        preserveRatio的图像视图的之间的互动信息fitWidthfitHeightpreserveRatio属性。

        Default value:
        0
      • fitWidthProperty

        public final DoubleProperty fitWidthProperty​()
        根据需要调整源图像大小的边框的宽度。 如果设置为值<= 0,则图像的固有宽度将用作fitWidth

        preserveRatio的图像视图的之间的互动信息fitWidthfitHeightpreserveRatio属性。

        Default value:
        0
        另请参见:
        getFitWidth()setFitWidth(double)
      • setFitHeight

        public final void setFitHeight​(double value)
        设置属性fitHeight的值。
        Property description:
        根据需要调整大小的源图像的边界框的高度。 如果设置为<= 0,则图像的固有高度将用作fitHeight

        preserveRatio的图像视图的之间的互动信息fitWidthfitHeightpreserveRatio属性。

        Default value:
        0
      • getFitHeight

        public final double getFitHeight​()
        获取属性fitHeight的值。
        Property description:
        根据需要调整大小的源图像的边界框的高度。 如果设置为值<= 0,则图像的固有高度将用作fitHeight

        preserveRatio的图像视图的之间的互动信息fitWidthfitHeightpreserveRatio属性。

        Default value:
        0
      • fitHeightProperty

        public final DoubleProperty fitHeightProperty​()
        根据需要调整大小的源图像的边界框的高度。 如果设置为值<= 0,则图像的固有高度将用作fitHeight

        preserveRatio的图像视图的之间的互动信息fitWidthfitHeightpreserveRatio属性。

        Default value:
        0
        另请参见:
        getFitHeight()setFitHeight(double)
      • setPreserveRatio

        public final void setPreserveRatio​(boolean value)
        设置属性preserveRatio的值。
        Property description:
        指示当缩放以适应拟合边界框内的图像时是否保留源图像的宽高比。

        如果设置为trueImageView下列方式影响此ImageView的尺寸*

        • 如果仅设置了fitWidth ,则将高度缩放以保持比例
        • 如果仅设置fitHeight ,则将缩放宽度以保持比例
        • 如果两者都被设置,它们都可以被缩放以便在宽度乘以高度矩形的同时保持原始宽高比
        如果未设置或设置为falseImageView以下方式影响此ImageView的尺寸*
        • 如果仅设置了fitWidth ,则图像的视图宽度将缩放匹配,高度不变;
        • 如果仅设置了fitHeight ,则图像的视图高度被缩放匹配,高度不变;
        • 如果两者都设置,则图像视图被缩放以匹配两者。
        请注意,由节点的边界报告的节点的尺寸将等于缩放图像的大小,并保证包含在fitWidth x fitHeight绑定框中。
        Default value:
      • isPreserveRatio

        public final boolean isPreserveRatio​()
        获取属性preserveRatio的值。
        Property description:
        指示当缩放以适应拟合边界框内的图像时是否保留源图像的宽高比。

        如果设置为trueImageView以下方式影响此ImageView的尺寸*

        • 如果仅设置fitWidth ,则高度被缩放以保持比例
        • 如果仅设置fitHeight ,则将缩放宽度以保持比例
        • 如果两者都被设置,它们都可以被缩放以便在宽度乘以高度矩形的同时保持原始宽高比
        如果未设置或设置为falseImageView以下方式影响此ImageView的尺寸*
        • 如果仅设置fitWidth ,则图像的视图宽度缩放匹配,高度不变;
        • 如果仅设置fitHeight ,则图像的视图高度被缩放以匹配,高度不变;
        • 如果两者都设置,则图像视图被缩放以匹配两者。
        请注意,由节点边界报告的节点的尺寸将等于缩放图像的大小,并保证包含在fitWidth x fitHeight绑定框中。
        Default value:
      • preserveRatioProperty

        public final BooleanProperty preserveRatioProperty​()
        指示当缩放以适应拟合边界框内的图像时是否保留源图像的宽高比。

        如果设置为trueImageView下列方式影响此ImageView的尺寸*

        • 如果仅设置了fitWidth ,则将高度缩放以保持比例
        • 如果仅设置fitHeight ,则将缩放宽度以保持比例
        • 如果两者都被设置,它们都可以被缩放以便在宽度乘以高度矩形的同时保持原始宽高比
        如果未设置或设置为falseImageView以下方式影响此ImageView的尺寸*
        • 如果仅设置fitWidth ,图像的视图宽度将缩放匹配,高度不变;
        • 如果仅设置fitHeight ,则图像的视图高度将缩放匹配,高度不变;
        • 如果两者都设置,则图像视图被缩放以匹配两者。
        请注意,由节点边界报告的节点的尺寸将等于缩放图像的大小,并保证包含在fitWidth x fitHeight绑定框中。
        Default value:
        另请参见:
        isPreserveRatio()setPreserveRatio(boolean)
      • setSmooth

        public final void setSmooth​(boolean value)
        设置属性的值平滑。
        Property description:
        指示当转换或缩放源图像以适应fitWidthfitHeight提供的边界框内时,是否使用更好的质量过滤算法或更快的过滤算法。

        如果设置为true将使用更好的质量过滤,如果设置为falsefalse使用较快的质量过滤。

        默认值取决于平台配置。

        Default value:
        平台依赖性
      • isSmooth

        public final boolean isSmooth​()
        获取属性的值平滑。
        Property description:
        指示当转换或缩放源图像以适应fitWidthfitHeight提供的边界框内时是否使用更好的质量过滤算法或更快的过滤算法。

        如果设置为true将使用更好的质量过滤,如果设置为false ,将使用较快的质量过滤。

        默认值取决于平台配置。

        Default value:
        平台依赖性
      • smoothProperty

        public final BooleanProperty smoothProperty​()
        指示当转换或缩放源图像以适应fitWidthfitHeight提供的边界框内时,是否使用更好的质量过滤算法或更快的过滤算法。

        如果设置为true将使用更好的质量过滤,如果设置为false更快,但将使用较低质量的过滤。

        默认值取决于平台配置。

        Default value:
        平台依赖性
        另请参见:
        isSmooth()setSmooth(boolean)
      • setViewport

        public final void setViewport​(Rectangle2D value)
        设置属性视口的值。
        Property description:
        矩形视口进入图像。 在缩放或任何其他转换之前,视口在图像的坐标中指定。

        如果viewportnull ,则显示整个图像。 如果viewport为非null ,则仅显示属于视口内的图像部分。 如果图像未完全覆盖视口,则视口的任何剩余区域将为空。

        Default value:
        空值
      • getViewport

        public final Rectangle2D getViewport​()
        获取属性视口的值。
        Property description:
        矩形视口进入图像。 在缩放或任何其他转换之前,视口在图像的坐标中指定。

        如果viewportnull ,则显示整个图像。 如果viewport为非null ,则仅显示落在视口内的图像部分。 如果图像未完全覆盖视口,则视口的任何剩余区域将为空。

        Default value:
        空值
      • viewportProperty

        public final ObjectProperty<Rectangle2D> viewportProperty​()
        矩形视口进入图像。 在缩放或任何其他转换之前,视口在图像的坐标中指定。

        如果viewportnull ,则显示整个图像。 如果viewport是非null ,则仅显示落在视口内的图像部分。 如果图像未完全覆盖视口,则视口的任何剩余区域将为空。

        Default value:
        空值
        另请参见:
        getViewport()setViewport(Rectangle2D)
      • getClassCssMetaData

        public static List<CssMetaData<? extends Styleable,?>> getClassCssMetaData​()
        结果
        与此类相关联的CssMetaData可能包括其类的CssMetaData。
        从以下版本开始:
        JavaFX 8.0