Icône de faible qualité dans la barre des tâches d'une scène. JavaFX


Pourquoi l'icône de scène si faible qualité? L'image originale est beaucoup mieux. Comment résoudre ce problème?

J'ai utilisé ce code pour définir l'image comme icône de scène:

stage.getIcons().add(new Image("/res/app_icon.png"));

Capture d'écran:
Capture

Icône d'Origine:
Icône d'origine

Author: Luiggi Mendoza, 2015-03-30

1 answers

Mise à Jour

Malheureusement, l'implémentation du sélecteur d'icônes dans JavaFX 8 ne choisit pas toujours la meilleure taille d'icône pour l'application dans la liste des icônes disponibles.

Voir:

Les problèmes sont (actuellement) programmés pour être résolus dans Java 9.

Quelques commentaires sur ces questions sont:

En effet, Glass prend actuellement en charge l'attribution d'une seule icône pour une fenêtre, il ne permettra pas d'attribuer un ensemble d'icônes de tailles différentes. Cette fonctionnalité doit être implémentée dans Glass.

--

J'ai remarqué que lors de la définition de plusieurs icônes, seule la dernière de la liste renvoyée par getIcons() est utilisée. Peu importe si d'autres icônes, avec de meilleures résolutions sont dans la liste.

Si vous fournissez une liste d'icônes de tailles, essayez de mettre la taille que vous attendez d'être utilisé le plus en dernier dans la liste (peut-être commander la liste du plus petit au plus grand ou placer une icône 48x48, qui est la taille utilisée dans la zone de lancement rapide sur Windows 7, comme le dernier ou seul élément dans la liste). Malheureusement, je n'ai pas accès à une machine Windows pour tester la meilleure taille d'icône pour cette plate-forme.


Icon Guidelines (mais soyez conscient des informations dans la mise à jour ci-dessus):

  • Fournit un ensemble d'icônes de haute qualité de différentes tailles à la liste retourné à partir de stage.getIcons().
  • La meilleure taille d'ajustement sera choisie par le runtime.
  • Utiliser l'icône standard tailles avec lesquelles la plupart des systèmes d'exploitation peuvent travailler sans autre mise à l'échelle (pour la taille de l'élément de l'instance est une puissance de deux ou 48x48).
  • Utilisez des images source de haute qualité (l'image source d'origine dans votre question me semble un peu floue).
  • Pour les très petites icônes, parfois une échelle pure d'une icône plus grande à une taille plus petite n'est pas meilleur. Parfois, il est préférable pour le concepteur d'icônes de nettoyer et de supprimer les détails complexes de la petite icône, ce qui peut être correct dans une icône plus grande - voir la discussion sur la taille de l'icône en poussant les pixels pour aider à comprendre pourquoi.
  • Informations sur les tailles d'icônes utilisées par les systèmes d'exploitation dans ce manuel d'icônes .

stage.getIcons().addAll(
    new Image("/res/app_icon64x64.png"),
    new Image("/res/app_icon32x32.png"),
    new Image("/res/app_icon16x16.png")
);

Une grande source d'icônes de haute qualité dans une variété de tailles est http://www.iconarchive.com, par exemple ce actualiser l'icône .

 7
Author: jewelsea, 2015-10-26 16:49:16