Moin,
Ich möchte ein Bild in einem ImageView anzeigen, nun habe ich ein Problem mit Bildern in hoher Auflösung.
Wenn ich ein Bild mit zu hoher Auflösung öffne nimmt das Bild den ganzen Bereich ein und überdeckt die Buttons unten.
Das ImageView ist in einem Borderpane im Center.
Nun suche ich eine möglichkeit wie aus dem Bild rausgezoomt werden kann oder sonst irgendwie die Ansicht angepasst wird, so dass die Buttons sichtbar bleiben.
Das Bild verkleinern ist keine Option, da ich die Bilder bearbeite und die Auflösung beibehalten werden soll.
Danke schonmal für die Hilfe
Ich möchte ein Bild in einem ImageView anzeigen, nun habe ich ein Problem mit Bildern in hoher Auflösung.
Wenn ich ein Bild mit zu hoher Auflösung öffne nimmt das Bild den ganzen Bereich ein und überdeckt die Buttons unten.
Das ImageView ist in einem Borderpane im Center.
Nun suche ich eine möglichkeit wie aus dem Bild rausgezoomt werden kann oder sonst irgendwie die Ansicht angepasst wird, so dass die Buttons sichtbar bleiben.
Das Bild verkleinern ist keine Option, da ich die Bilder bearbeite und die Auflösung beibehalten werden soll.
XML:
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.*?>
<?import javafx.scene.image.ImageView?>
<?import javafx.scene.layout.BorderPane?>
<?import javafx.scene.layout.HBox?>
<BorderPane xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1"
fx:controller="com.github.anothermarco.photmosaic.PrimaryController">
<top>
<MenuBar>
<Menu text="File">
<items>
<MenuItem text="new..." onAction="#newItemDialog">
</MenuItem>
</items>
</Menu>
</MenuBar>
</top>
<center>
<ImageView fx:id="imageView">
</ImageView>
</center>
<bottom>
<HBox>
<Button text="Pixelate" fx:id="buttonPixelate" onAction="#pixelateAction">
</Button>
<Button text="Sourcefolder..." fx:id="buttonSourceFolder" onAction="#sourceFolderAction">
</Button>
</HBox>
</bottom>
</BorderPane>
Java:
@FXML
private void newItemDialog() {
//TODO: set filters for fileChooser
FileChooser fileChooser = new FileChooser();
File file = fileChooser.showOpenDialog(null);
Image image = new Image(file.toURI().toString());
WritableImage writableImage = new WritableImage(image.getPixelReader(), (int) image.getWidth(), (int) image.getHeight());
imageManipulator = new ImageManipulator(writableImage);
ImageInfo imageInfo = new ImageInfo(file);
imageView.setImage(image);
}
Danke schonmal für die Hilfe