|
Засада с картинками, опять DPI awareness.
|
|||
---|---|---|---|
#18+
Сделал простейшее приложение: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
Картинка Settings-20-100.png имеет размер 20*20 px, 96 DPI. На компьютере стоит 100%, 96DPI, Windows 10. Запустил, всё отображается ОК. (см. верхнюю часть рисунка). Ставлю на компьютере 125%, 120 DPI. Меняю Image Source на "Images/Settings-20/Settings-20-125.png". Картинка размером 25*25px, 120DPI. Пересобираю приложение, запускаю, имею: верхняя картинка (в тулбаре) имеет размер верные 25PX, но почему-то размытая (я специально нарисовал попиксельные уголки, что бы отследить это). Вторая картинка (нижняя) почему-то вообще имеет размер - 25*24px! (по уголкам видно, что обрезана) Почему? Какой код отобразит картинки корректно под разными DPI? Всевозможные комбинации параметров SnapsToDevicePixels, UseLayoutRounding, VerticalAlignment, HorizontalAlignment, Stretch и т.п. испробовал - ничего не помогает. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2016, 16:39 |
|
Засада с картинками, опять DPI awareness.
|
|||
---|---|---|---|
#18+
Странно, такое ощущение, что картинку сначала сжимают, а потом восстанавливают до первоначального раздела. Если Image выводится сам по себе, на окно, то всё более-менее в порядке. Если завернуть в Button или в Toolbar - то картинка портится. Пробовал завернуть в Tooltip - картинка в порядке. Вот, сделал ещё примерчик, в тулбаре первая картинка - это кнопка, видно, что она сжата-растянута. А вторая картинка - это просто картинка, без кнопки. Такое ощущение, что взяли поломанную картинку с кнопки и её ещё раз сжали-растянули. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2016, 19:13 |
|
Засада с картинками, опять DPI awareness.
|
|||
---|---|---|---|
#18+
Выявил ещё две закономерности. Может, они что-то подскажут нашим гуру, и они помогут разобраться? 1. Изображения ломаются только на DPI, НЕ кратным 96 (100%). Если разрешении 100%, 200%, 300% - всё норм. 125, 150 и т.д - плохо: ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2016, 14:00 |
|
Засада с картинками, опять DPI awareness.
|
|||
---|---|---|---|
#18+
2 странность: картинка на дробных разрешениях ломается, только если её поместить в кнопку, даже если кнопка заведомо бОльшего размера, чем картинка. Если картинка просто лежит на форме, тулбаре, или в тултипе, то всё норм: ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2016, 14:02 |
|
Засада с картинками, опять DPI awareness.
|
|||
---|---|---|---|
#18+
предыдущий рисунок: image 1 - рисунок внутри кнолпки на тулбаре image 2 - рисунок просто на тулбаре image 3 - рисунок на форме image 4 - рисунок внутри кнопки, кнопка в окне ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2016, 14:04 |
|
Засада с картинками, опять DPI awareness.
|
|||
---|---|---|---|
#18+
я долго страдал, пока не нашел истинный путь, отказаться от растровой графики совсем. по этому совет только 1. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2016, 14:19 |
|
Засада с картинками, опять DPI awareness.
|
|||
---|---|---|---|
#18+
Roman Mejtes, скажите, у Вас есть реально работающий пример на WPF, что бы векторный рисунок на 175% (168DPI) нарисовал pixel precise? Вот картинка из моего сообщения 19094862 : Код: xml 1. 2. 3. 4. 5. 6. 7.
Я ещё не разобрался с GuidesLineHelper-ом, о котором Вы писали. Подскажите пожл, как его использовать. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2016, 15:34 |
|
|
start [/forum/topic.php?fid=21&fpage=11&tid=1440644]: |
0ms |
get settings: |
12ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
46ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
others: | 16ms |
total: | 159ms |
0 / 0 |