Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Белые точки на повернутом битмапе [D7, WinXP]


dimon_prorammer ©   (2004-04-07 12:54:00) 

Почему если вертеть битмап по формулам:
x1=x0+(x-x0)cos(a)-(y-y0)sin(a)
y1=y0+(x-x0)sin(a)+(y-0)cos(a),
где a-угол, x1,y1-новые координаты, то в результате на картинке
будут белые точки? Как от них избавится?


Думкин   (2004-04-21 13:42:00) [1]

> bolegator ©   (21.04.04 13:11) [4]
> Ну и MBo конечно прав. Хотя я думаю, что точки от этого не пропадут, но скорость поворота увеличится.

Они как раз пропадут.


bolegator   (2004-04-21 13:11:00) [2]

Простой поворот хорош только для картинок, начиная
с разрешения 500 dpi и выше. В остальных случаях
поворот будет искажать картинку. Выхода два:
1) использовать поворот с интерполяцией (линейной или нелинейной),
2) использовать антиалиасинг-поворот.
Первый способ хорош для цветных изображений и плох для черно-белых. Второй способ хорош для черно-белых.
Ну и MBo конечно прав. Хотя я думаю, что точки от этого не пропадут, но скорость поворота увеличится.


MBo   (2004-04-07 18:18:00) [3]

это ничем не проще (за исключением отслеживания границ)


miek   (2004-04-07 18:16:00) [4]

Или (что проще, но очень некрасиво) каждую точку выводить два раза - туда, куда надо и в соседнюю позицию справа.


MBo   (2004-04-07 13:28:00) [5]

Нужно делать обратный маппинг, т.е. каждой точке нового битмапа ставить в соответствие точку старого.


Наверх

Титульная страница Поиск, карта сайта Написать письмо