Здравствуйте.
Пишу небольшую программку для windows mobile 6. Появилась необходимость отрисовать кнопку со скругленными краями. Для вывода использую GDI.
Проблема в том, скругленные края выглядят некрасиво(ступеньками). Можете посоветовать алгоритмы, способы как сгладить скругления?
Скругления делаю следующим образом: рисую RoundRect на прямоугольном окне "подложке". Но способ как то не очень. На эмуляторе появляются цветные артефакты по углам окна.
11.06.09 16:09: Перенесено модератором из 'C/C++. Прикладные вопросы' — Кодт
1) Использовать заранее подготовленную картинку.
2) Отрисовать в битамап и пропустить через фильтр (богатый список фильтров есть в AGG).
3) Рисовать с антиальясингом (незнаю можно ли на WinMobile).
4) Если рисовать не много, можно рисовать всё через AGG. Будет красиво.
Здравствуйте, maratbar, Вы писали:
M>Пишу небольшую программку для windows mobile 6. Появилась необходимость отрисовать кнопку со скругленными краями. Для вывода использую GDI.
Нагенерил заранее деталки для своей кнопки. Положил их в ресурсы. И затем рисую альфаблендом (можно битблитом, если с альфа-каналом возиться лень).
Единственно, что для WM нужно поддержать четыре разрешения — 96, 128, 131 и 192 dpi. (Или хотя бы три — средние значения на глаз практически неразличимы).
То есть, три или четыре комплекта деталек.
... << RSDN@Home 1.2.0 alpha 4 rev. 1207>>
Здравствуйте, maratbar, Вы писали:
WM6 поддерживает GDI+.
Просто они "забили" на всех остальных и сделали доступ только из .Net.
Но уже давно есть враперы:
http://www.codeproject.com/KB/mobile/gdiplusandwinmobile.aspx?display=Print
http://www.ernzo.com/LibGdiplus.aspx