Вниз
Скачать: CL | DM;

Белые точки на повернутом битмапе   Найти похожие ветки 

 
dimon_prorammer   (2004-04-07 12:54) [0]

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


 
MBo ©   (2004-04-07 13:28) [1]

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


 
miek ©   (2004-04-07 18:16) [2]

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


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

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


 
bolegator ©   (2004-04-21 13:11) [4]

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


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

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

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.024 c
14-1087266575
Думкин
2004-06-15 06:29
2004.07.04
С днем рождения! 15 июня


1-1087330567
Костик
2004-06-16 00:16
2004.07.04
Обращении к функции CopyFile в WinXp


1-1087887519
Tom
2004-06-22 10:58
2004.07.04
Надо загрузить функцию из DLL написанной на C...


6-1081222372
Azazzello
2004-04-06 07:32
2004.07.04
Пересылка строки по сети


14-1087041779
juiceman
2004-06-12 16:02
2004.07.04
Как установить в 98ой сетевое окружение ?




   Наверх