JavaFX:Windows 任务管理器中的压扁舞台图标

问题描述 投票:0回答:1

我正在 JavaFX 21 中开发一个项目,并使用 stage.getIcons 添加一个舞台图标。

stage.getIcons().add(new Image(getClass().getResourceAsStream("/assets/linux/32.png")));

这很好用;该图像既显示在窗口左上角,也显示在任务管理器中 - 无论是在我的程序的 Linux 和 Windows (11) 版本中。

不起作用的是在 Windows 任务管理器中,并且只有在那里,图标才会被压扁。在我编程的 Xubuntu VM 的任务管理器中看起来不错。

这是我的图标(256x256px版本以获得更好的可见性)

.

这就是我在任务管理器中看到的

。对于此图像,我使用的是 32x32px 版本的图标,带有较粗的黄线,但图标仍然是圆形的。 我还使用 JavaPackager 将我的代码打包为可执行的 Windows 版本,并且我使用 Windows .ico 文件来处理所有图标用法,这些图标不是窗口栏左上角图标或任务管理器进程图标,并且该文件有效完全没问题。但是,我认为这不应该相关,因为有问题的图标是通过代码本身内的 JavaFX 添加的。

JavaFX 和 Windows 任务管理器之间是否存在任何特定情况导致这种奇怪的挤压?

到目前为止我尝试过的:

使用不同的图标图像尺寸(16、32、64、256px)
  • 在 stage.getIcons() 调用中添加多个不同尺寸的图像
  • 我发布的图标版本不是侧面有一点空白,而是按尺寸制作了第二个版本
  • 刷新 Windows 资源管理器以重新加载图标缓存(?)
  • 一切都没有任何影响。

javafx
1个回答
0
投票
proportional

设置为 true 进行了重新缩放。 请参阅保留比率 Image logoImage = new Image(getClass().getResourceAsStream(LOGO_IMAGE)); Image logoImage1 = new Image(getClass().getResourceAsStream(LOGO_IMAGE), 16.0, 16.0, true, true); Image logoImage2 = new Image(getClass().getResourceAsStream(LOGO_IMAGE), 24.0, 24.0, true, true);

stage.getIcons().addAll(logoImage, logoImage1, logoImage2);

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.