如何在 JavaFX 中更改影像的縱橫比?
javafx.scene.image.Image 類用於將影像載入到 JavaFX 應用程式中。它支援 BMP、GIF、JPEG 和 PNG 格式。
JavaFX 提供了一個名為 javafx.scene.image.ImageView 的類,它是一個用於顯示載入影像的節點。
ImageView 類的 preserveRatio 屬性(布林值)指定在使用當前 ImageView 物件顯示影像時是否應保留影像的縱橫比。您可以使用 setPreserveRatio() 方法為此屬性設定值。
預設情況下,此屬性的值為 true,即即使您更改影像的寬度或高度,顯示影像的縱橫比也將與源影像相同。
要更改影像的縱橫比 -
透過將所需影像的 URL(字串)作為引數傳遞來例項化 Image 類。
例項化 ImageView 類。
透過將上述影像物件作為引數傳遞給 setImage() 方法將其設定為影像。
使用 setPreserveRatio() 方法將 preserveRatio 屬性設定為 false。
現在,如果您更改影像的寬度或高度,其縱橫比將被改變。
示例
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
public class PerspectiveRatioExample extends Application {
public void start(Stage stage) throws IOException {
//creating the image object
InputStream stream = new FileInputStream("D:\images\elephant.jpg");
Image image = new Image(stream);
//Creating the image view
ImageView imageView1 = new ImageView(image);
//Setting the image view parameters
imageView1.setX(170);
imageView1.setY(10);
imageView1.setFitWidth(270);
imageView1.setPreserveRatio(true);
//Creating the image view
ImageView imageView2 = new ImageView(image);
//Setting the image view parameters
imageView2.setX(10);
imageView2.setY(180);
imageView2.setFitWidth(580);
imageView2.setFitHeight(160);
imageView2.setPreserveRatio(false);
//Setting the Scene object
Group root = new Group(imageView1, imageView2);
Scene scene = new Scene(root, 595, 350, Color.BEIGE);
stage.setTitle("Perspective Ratio Example");
stage.setScene(scene);
stage.show();
}
public static void main(String args[]) {
launch(args);
}
}輸出

廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP