某些系统图标具有不同大小的选择(大概是.ico或.icns文件)。在SWT中,我能够获取某些状态的默认图标,例如ICON_INFORMATION
或ICON_WARNING
等。
我想获得使用不同大小的该图标的版本。例如,当我使用以下代码获取ICON_INFORMATION
时,图标的大小为32x32。
Label icon = new Label(parent, SWT.NONE);
icon.setImage(Display.getCurrent().getSystemImage(SWT.ICON_INFORMATION));
在彩色背景上(与INHERIT_FORCE
混合使用以避免出现白框),该图标看起来像这样(在Windows 7系统上):
假设我想要此图标的16x16版本。我发现,提取图像数据并自行调整大小会使图标的质量低于系统上其他位置使用的图标。
如果我将图标的大小调整为16x16,则质量看起来像这样:
我追求的质量的一个示例就像来自Windows本机功能的16x16图标:
在这种情况下,显然Windows本身使用的那个看起来更好。有什么方法可以获取吗?还是我唯一坚持调整大小的最佳方法?是否可以将系统图标作为大小不同的Image
数组来获得?