И кто виноват.
Об этом и расскажу в этой статье. Итак, задача простая, мы хотим добавить иконку к кнопке, скачиваем иконку, допустим, с icons8:
Приводим её к размеру 32x32 и далее делаем всё по инструкции. Добавляем как ресурс к проекту, назначаем на PushButton. В общем, я именно так и делаю:
И какой результат я получаю:
Что ж, в этот раз ещё повезло: картинка хотя бы есть. Но выглядит она не так как надо, поместилось всего 3/4. В чём же дело?
Причина
Оказывается, помимо размера 32х32 нам важно, чтобы dpi картинки было 96. Открываю картинку в Paint и проверяю:
DPI 72, а не 96. Надо исправить, но я не знаю как. Что делает программист, если не знает, что делать? Правильно, гуглит. По этой ссылке я поменял dpi онлайн:
https://clideo.com/ru/dpi-converter
Подгружаем новую картинку в проект и смотрим, что получилось:
Отлично, картинка выглядит так, как и задумано.
Ради эксперимента проверим, что будет, если сделать картинку с dpi 300. Если dpi будет меньше, то картинка как бы не влезет целиком, но что, если сделать его больше?
Как видите, картинка уменьшилась. Я встречался с ситуациями, когда картинка вообще не хотела появляться на кнопке. Если у вас будет также, то вы знаете одну из возможных причин. Причина №2 — ошибки в пути к картинке.
Заключение
На этом всё. Не забывайте подписаться на мой телеграм-канал о Revit API. До новых встреч!
Поэкспериментировать с моим кодом можно в этом коммите моего гитхаба.