Сгладить скругления в windows mobile 6
От: maratbar  
Дата: 11.06.09 06:06
Оценка:
Здравствуйте.
Пишу небольшую программку для windows mobile 6. Появилась необходимость отрисовать кнопку со скругленными краями. Для вывода использую GDI.
Проблема в том, скругленные края выглядят некрасиво(ступеньками). Можете посоветовать алгоритмы, способы как сгладить скругления?
Скругления делаю следующим образом: рисую RoundRect на прямоугольном окне "подложке". Но способ как то не очень. На эмуляторе появляются цветные артефакты по углам окна.

11.06.09 16:09: Перенесено модератором из 'C/C++. Прикладные вопросы' — Кодт
Re: Сгладить скругления в windows mobile 6
От: nen777w  
Дата: 11.06.09 08:49
Оценка:
1) Использовать заранее подготовленную картинку.
2) Отрисовать в битамап и пропустить через фильтр (богатый список фильтров есть в AGG).
3) Рисовать с антиальясингом (незнаю можно ли на WinMobile).
4) Если рисовать не много, можно рисовать всё через AGG. Будет красиво.
Re[2]: Сгладить скругления в windows mobile 6
От: maratbar  
Дата: 11.06.09 08:51
Оценка:
Здравствуйте, nen777w, Вы писали:

N>1) Использовать заранее подготовленную картинку.

N>2) Отрисовать в битамап и пропустить через фильтр (богатый список фильтров есть в AGG).
N>3) Рисовать с антиальясингом (незнаю можно ли на WinMobile).
N>4) Если рисовать не много, можно рисовать всё через AGG. Будет красиво.

Спасибо, попробую поглядеть в сторону AGG.
Анти-алиасинг, если я правильно понял фича GDI+, а винмобайл не поддерживает GDI+.
Re: Сгладить скругления в windows mobile 6
От: Кодт Россия  
Дата: 11.06.09 12:09
Оценка:
Здравствуйте, maratbar, Вы писали:

M>Пишу небольшую программку для windows mobile 6. Появилась необходимость отрисовать кнопку со скругленными краями. Для вывода использую GDI.


Нагенерил заранее деталки для своей кнопки. Положил их в ресурсы. И затем рисую альфаблендом (можно битблитом, если с альфа-каналом возиться лень).
Единственно, что для WM нужно поддержать четыре разрешения — 96, 128, 131 и 192 dpi. (Или хотя бы три — средние значения на глаз практически неразличимы).
То есть, три или четыре комплекта деталек.
... << RSDN@Home 1.2.0 alpha 4 rev. 1207>>
Перекуём баги на фичи!
Re[3]: Сгладить скругления в windows mobile 6
От: 8bit  
Дата: 12.06.09 20:20
Оценка:
Здравствуйте, maratbar, Вы писали:

WM6 поддерживает GDI+.
Просто они "забили" на всех остальных и сделали доступ только из .Net.
Но уже давно есть враперы:
http://www.codeproject.com/KB/mobile/gdiplusandwinmobile.aspx?display=Print
http://www.ernzo.com/LibGdiplus.aspx
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.