gpt4 book ai didi

image - 如何在javafx imageView中获取显示图像的宽度/高度?

转载 作者:行者123 更新时间:2023-12-01 01:57:23 24 4
gpt4 key购买 nike

我需要在 imegView 中获取显示图像的宽度/高度,并将其与 imageView.getImage().getWidth()/getHeight() 中的原始图像大小进行比较,并在用户从应用程序 GUI 调整其大小时监听更改。

我从 imageView.fitWidthProperty() 得到这个尺寸和高度相似,但我得到了 imageView 的大小而不是其中的图像:
enter image description here

我得到的是 imageView 的蓝色大小,但我需要显示图像的大小(绿色)。当用户调整窗口应用程序大小时,如何将其作为属性进行监听(绿色也会更改大小,但它似乎具有最大和最小大小,因此在最大或最小时停止使用 imageView 调整大小)。

我使用这个属性来计算蓝色矩形右下角原始图像大小的百分比。

是否可以?

E:以下是此选项卡的 fxml:

<BorderPane fx:id="root" fx:controller="..."
xmlns:fx="..." xmlns="..." stylesheets="@...css">
<center>
<StackPane>
<ImageView fx:id="..."/>
<fx:include source="...fxml" fx:id="..."/>
</StackPane>
</center>
<bottom>
<VBox fx:id="..." minHeight="110" styleClass="small-padding" spacing="5">
<HBox alignment="CENTER_RIGHT" spacing="5">
<fx:include source="...fxml" resources="..."
fx:id="..."/>
</HBox>
<TextArea fx:id="..." promptText="%..." styleClass="-fx-description-text-area"/>
</VBox>
</bottom>

最佳答案

~>1)



事实证明 Image未调整大小以覆盖所有 ImageView与preserveRatio 方法有关。如果您想被覆盖 setPreserveRatio(false);setSmooth( true ); 的组合

~>2)



绿色边框是原始图像的大小。

~>3)



添加之前 ImageImageView你可以做:
Image image = new Image("FILE:...");
image.getWidth( );
image.getHeight( );

这就是图像的原始大小。

至于图片在 ImageView里面显示时的大小:
imageView.getFitWidth();
imageView.getFitHeight();

对于 ImageView的大小在场景内(您问题中的蓝色边框):
imageView.getWidth();
imageView.getHeight();
ImageView类具有上述属性。

关于image - 如何在javafx imageView中获取显示图像的宽度/高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39408845/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com