JavaFX der Image-Klasse

Ein Image ist eine Datei, die ein Bild enthält. Java unterstützt Bilder in verschiedenen Formaten, einschließlich .jpg, .png, .gif, und .bmp. Einzuarbeiten Bilder in Ihre Anwendungen, müssen Sie zwei Klassen zu verwenden: Image und Image. Das Image Klasse stellt ein Bild im Speicher, während die Image Klasse ist ein Knoten dass Sie einen Szenengraph hinzufügen kann ein anzuzeigen Image auf dem Bildschirm.

Beide Klassen sind im Paket javafx.scene.image, so müssen Sie die folgende Anweisung aus, um Programme hinzuzufügen:

importieren javafx.scene.image *. -

Um ein Bild von einer externen Quelle zu laden, wie zum Beispiel eine Datei oder einen Web-Standort, verwenden Sie die Image Klasse. Diese Klasse hat sechs Konstrukteure, die in dieser Tabelle aufgeführt.

Die Image-Klasse
constructorBeschreibung
Bild (Input in)ein Bild erzeugt, indem aus der angegebenen Eingabestrom lesen.
Bild (Input in, doppelte Breite, doubleheight, boolean preserveRatio, boolean glatt)ein Bild erzeugt, indem aus dem angegebenen Eingabe-Stream liest andresizes es entsprechend der Breite und Höhe, die Sie angeben. preserveRatio zeigt an, ob das Aspektverhältnis des ursprünglichen Bildes erhalten werden soll, und glatt zeigt an, ob die Bildglättung shouldbe angewendet.
Bild (String url)ein Bild erzeugt, indem von der angegebenen URL zu lesen.
Bild (String url, booleanbackgroundLoading)ein Bild erzeugt, indem von der angegebenen URL zu lesen. Wenn backgroundLoading wahr ist, wird das Bild im Hintergrund geladen (das heißt, auf einem separaten Thread).
Bild (String url, doppelte Breite, doubleheight, boolean preserveRatio, boolean glatt)ein Bild erzeugt, indem von der angegebenen URL zu lesen. Thisconstructor gibt die Breite und Höhe des resultierenden imageand zeigt an, ob das Seitenverhältnis des Originalbildes shouldbe erhalten und ob die Bildglättung angewendet werden soll.
Bild (String url, doppelte Breite, doubleheight, boolean preserveRatio, boolean glatt, booleanbackgroundLoading)ein Bild erzeugt, indem aus dem angegebenen Bahnweg Lesen andresizes es entsprechend der Breite und Höhe, die Sie angeben. preserveRatio zeigt an, ob das Aspektverhältnis des ursprünglichen Bildes erhalten werden soll, und glatt zeigt an, ob die Bildglättung shouldbe angewendet. Ob backgroundLoading wahr ist, wird das Bild im Hintergrund geladen (das heißt, auf einem separaten Thread).

Der einfachste Weg, um ein Bild zu laden, ist so direkt auf dem lokalen Computer aus einer Datei zu tun, indem Sie einen Dateipfad in der Angabe Image Konstruktor. Der Dateipfad String sollte durch die Protokoll Zeichenfolge vorangestellt werden Datei:. Beispielsweise erstellt der folgende Konstruktor eine Image-Objekt aus einer Datei mit dem Namen pic001.jpg im Ordner C: Pictures:

Bild img = new Bild ( "file: C: Pictures pic001.jpg") -

Protokoll, wie in diesem Beispiel: Sie können auch einen Web-Standort mit dem http angeben:

Bild img = new Bild ( "https://domain.com/pic001.jpg") - 

Beachten Sie in der Web-Beispiel, das Sie haben, um die Schrägstriche nicht verdoppeln, da HTTP-Adressen Schrägstri- verwenden, nicht rückwärts Schrägstrichen.

In vielen Fällen möchten Sie ein Bild von einem File-Objekt zu laden. Um dies zu erreichen, verwenden Sie die Datei Objekt Touri Verfahren Sie den richtigen Pfad der Datei zu erhalten. Hinweis:Touri gibt ein Objekt vom Typ URI- Sie müssen dann rufen getString konvertiert die URI in einen String:

Datei f = new File ( "C: Pictures pic001.jpg") - Bild img = new Bild (f.toURI () toString ().) -

Hier wird eine Datei aus dem Pfad erstellt C: Bilder pic001.jpg. Dann wird ein Bild aus der Datei erstellt.

Wenn Sie ein erstellen Image Objekt, können Sie festlegen, dass das Bild sollte durch die Bereitstellung der Breite und Höhe Parameter geändert werden. Sie müssen auch zwei zur Verfügung zu stellen boolean Argumente.

Die erste gibt an, ob JavaFX das Image des Seitenverhältnis beibehalten möchten (das heißt, das Verhältnis von Breite zu Höhe). Wenn Sie angeben, wahr, das Bild kann leere Bereiche oberhalb und unterhalb oder links enthalten und rechts je nach Bedarf das Image des Seitenverhältnis beizubehalten. Wenn Sie angeben, falsch, kann das Bild verzerrt werden.

Der Zweite boolean Argument gibt an, ob Sie wollen JavaFX einen Glättungsalgorithmus anzuwenden, um die Klarheit des Bildes zu verbessern. Der Glättungsprozess wird das Bild besser aussehen, aber braucht Zeit.

Schließlich können Sie ein optionales drittes angeben boolean Argument, das bedeutet, dass Sie das Bild wollen im Hintergrund zu laden. Dies bewirkt, dass die Bildladevorgang zu einem separaten Thread ausgegliedert werden, so dass die Hauptanwendung Faden ohne zu warten, auch weiterhin für das Bild zu laden.

Menü