SWT: получить версию системного значка другого размера - PullRequest
0 голосов
/ 14 января 2019

Некоторые системные значки имеют выбор разных размеров (предположительно как файлы .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):

Windows default information icon

Допустим, я хочу 16x16 версию этой иконки. Я считаю, что извлечение данных изображения и его изменение размера делает значок более низкого качества, чем тот, который используется в других местах системы.

Если изменить размер иконки до 16x16, качество будет выглядеть так:

Scaled icon

Пример качества, к которому я стремлюсь, похож на значок 16x16 из встроенной функции Windows:

Windows update information icon 16x16

Очевидно, что тот, который изначально используется Windows в этом случае, выглядит лучше. Есть ли способ, которым я могу получить это? Или мой лучший способ придерживаться изменения размера единственного, который я могу достать? Можно ли получить системный значок в виде массива Image с разными размерами?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...