Некоторые системные значки имеют выбор разных размеров (предположительно как файлы .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, качество будет выглядеть так:
Пример качества, к которому я стремлюсь, похож на значок 16x16 из встроенной функции Windows:
Очевидно, что тот, который изначально используется Windows в этом случае, выглядит лучше. Есть ли способ, которым я могу получить это? Или мой лучший способ придерживаться изменения размера единственного, который я могу достать? Можно ли получить системный значок в виде массива Image
с разными размерами?