在舞台的任务栏中的低质量图标.JavaFX的

Naz*_*kyi 9 java javafx

为什么舞台图标质量如此之低?原始图像要好得多.怎么解决?

我使用此代码将图像设置为舞台图标:

stage.getIcons().add(new Image("/res/app_icon.png"));
Run Code Online (Sandbox Code Playgroud)

截图:
截图

原图标:
原始图标

jew*_*sea 8

更新

遗憾的是,JavaFX 8中图标选择器的实现并不总是从可用图标列表中为应用程序选择最佳图标大小.

看到:

这些问题(目前)计划在Java 9中解决.

对这些问题的一些评论是:

实际上,Glass目前仅支持为一个窗口分配一个图标,它不允许一个人分配一组不同大小的图标.此功能需要在Glass中实现.

-

我注意到,在设置多个图标时,只使用getIcons()返回的列表中的最后一个图标.如果列表中包含更好分辨率的其他图标则无关紧要.

如果您提供不同大小的图标列表,请尝试在列表中放置您最期望使用的大小(可能从最小到最大排序列表或放置48x48图标,这是快速启动区域中使用的大小在Windows 7上,作为列表中的最后一个或唯一的元素).不幸的是,我无法访问Windows计算机来测试该平台的最佳图标大小.


图标指南(但请注意上述更新中的信息):

  • 从返回的列表中提供一组不同大小的高质量图标 stage.getIcons().
  • 运行时将选择最佳拟合大小.
  • 使用大多数操作系统可以使用的标准图标大小而无需进一步缩放(例如,项目大小为2或48x48的幂).
  • 使用高质量的源图像(问题中的原始源图像对我来说似乎有点模糊).
  • 对于非常小的图标,有时将较大图标的纯粹比例缩小到较小尺寸并非最佳.有时,图标设计师最好清理并从小图标中删除复杂的细节,这可能在较大的图标中是正常的 - 请参阅有关推动像素的图标大小讨论,以帮助理解原因.
  • 有关此图标手册中哪些操作系统使用的图标大小的信息.

stage.getIcons().addAll(
    new Image("/res/app_icon64x64.png"),
    new Image("/res/app_icon32x32.png"),
    new Image("/res/app_icon16x16.png")
);
Run Code Online (Sandbox Code Playgroud)

各种尺寸的高质量图标的重要来源是http://www.iconarchive.com,例如这个刷新图标.