L'image de la classe de JavaFX

Un image est un fichier qui contient une image. Java prend des photos en plusieurs formats, y compris .jpg, .jpg, .jpg, et .jpg. Pour intégrer des images dans vos applications, vous devez utiliser deux classes: Image et ImageView. La Image classe représente une image dans la mémoire, alors que la ImageView classe est une Noeud que vous pouvez ajouter à un graphe de scène pour afficher une Image sur l'écran.

Ces deux classes sont dans le package javafx.scene.image, si vous avez besoin d'ajouter la déclaration suivante à vos programmes:

importer javafx.scene.image *. -

Pour charger une image à partir d'une source externe, comme un fichier de disque ou un emplacement web, vous utilisez le Image classe. Cette classe possède six constructeurs, détaillées dans ce tableau.

L'image de classe
ConstructeurDescription
Image (InputStream)Crée une image par la lecture de la inputstream spécifié.
Image (InputStream, double largeur, doubleheight, booléen preserveRatio, booléen lisse)Crée une image en lecture du flux d'entrée spécifié qu'il andresizes fonction de la largeur et la hauteur que vous spécifiez. preserveRatio indique si le aspectratio de l'image originale devrait être conservée, et lisse indique si le lissage d'image shouldbe appliquée.
Image (String url)Crée une image en lecture à partir de l'URL spécifiée.
Image (String url, booleanbackgroundLoading)Crée une image en lecture à partir de l'URL spécifiée. Si backgroundLoading est vrai, l'image est chargée dans le fond (qui est, sur un thread séparé).
Image (String url, double largeur, doubleheight, booléen preserveRatio, booléen lisse)Crée une image en lecture à partir de l'URL spécifiée. Thisconstructor spécifie la largeur et la hauteur de la Imageet résultant indique si le ratio d'aspect de l'image originale de shouldbe préservé et si lissage de l'image doit être appliquée.
Image (String url, double largeur, doubleheight, booléen preserveRatio, booléen lisse, booleanbackgroundLoading)Crée une image par la lecture de la trajectoire de la bande spécifiée, il andresizes fonction de la largeur et la hauteur que vous spécifiez. preserveRatio indique si le aspectratio de l'image originale devrait être conservée, et lisse indique si le lissage d'image shouldbe appliquée. Si backgroundLoading est vrai, l'image est chargée dans le fond (qui est, sur un thread séparé).

La meilleure façon de charger une image est de le faire directement à partir d'un fichier sur votre ordinateur local en spécifiant un chemin de fichier dans la Image constructeur. La chaîne de chemin de fichier doit être précédée par la chaîne de protocole fichier:. Par exemple, le constructeur suivant crée un objet image à partir d'un fichier nommé pic001.jpg dans le dossier C: Pictures:




Img Image = new Image ("file: C: Photos pic001.jpg") -

Vous pouvez également spécifier un emplacement web utilisant le http: protocole, comme dans cet exemple:

Image img = new Image ("http://domain.com/pic001.jpg") - 

Avis dans l'exemple de web que vous ne disposez pas de doubler les barres obliques parce adresses HTTP utilisent des barres obliques, et non pas les barres obliques inversées.

Dans de nombreux cas, vous voulez charger une image à partir d'un objet File. Pour ce faire, utilisez le Fichier objet de Touri méthode pour obtenir le chemin d'accès correct à partir du fichier. Note:Touri retourne un objet de type URI- vous devez ensuite appeler getString à convertir la URI à une chaîne:

Fichier f = new File ("C: Photos pic001.jpg") - img Image = new Image (f.toURI () toString ().) -

Ici, un fichier est créé à partir du chemin C: Images pic001.jpg. Ensuite, une image est créée à partir du fichier.

Lorsque vous créez un Image objet, vous pouvez spécifier que l'image doit être redimensionnée en fournissant les paramètres de largeur et de hauteur. Vous aurez également besoin de fournir deux booléen arguments.

Le premier spécifie si vous souhaitez JavaFX pour préserver le ratio d'aspect de l'image (qui est, le rapport de la largeur à la hauteur). Si vous spécifiez vrai, l'image peut contenir des zones vides au-dessus et ci-dessous ou gauche et à droite comme nécessaire pour préserver le ratio d'aspect de l'image. Si vous spécifiez faux, l'image peut être déformée.

Le second booléen argument spécifie si vous voulez JavaFX pour appliquer un algorithme de lissage pour améliorer la clarté de l'image. Le processus de lissage rend l'image plus agréable à regarder, mais prend du temps.

Enfin, vous pouvez spécifier une troisième option booléen l'argument qui indique que vous voulez que l'image à charger en arrière-plan. Cela provoque le processus de chargement d'image à essaimé à un thread séparé afin que votre fil principal de l'application peut continuer sans attendre pour l'image à charger.


» » » » L'image de la classe de JavaFX