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

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

Поворот изображения в Image ? [D7, WinXP]


Yorick ©   (2003-03-31 02:00:00) 

Как вывести изображение в Image под заданным углом?


Плохой человек   (2003-03-31 20:45:00) [1]

http://www.egf2.com, раздел Lab Report.


Radionov Alexey   (2003-03-31 08:01:00) [2]

>Yorick © (31.03.03 02:00)
Если лень поворачивать руками, то см. SetWorldTransform
иначе -
x_new := cos(phi)*(x-x0)-sin(phi)*(y-y0)+x0;
y_new := sin(phi)*(x-x0)+cos(phi)*(y-y0)+y0;

где x0,y0 - точка, вокруг которой все вертится (для image он может быть равна, например, Image.Width div 2, Image.Height div 2). x,y - текущая поворачиваема точка. x_new, y_new - повернутая точка. Чтобы не возникало белых пятен, лучше вычислять x и у по заданным x_new, y_new
то есть
y = cos(phi)*y_new+y0-cos(phi)*y0-x_new*sin(phi)+sin(phi)*x0;
x = x0+y_new*sin(phi)-sin(phi)*y0+cos(phi)*x_new-cos(phi)*x0; - координаты точки, которую надо зацепить для прорисовки текущей x_new, y_new


Демонов Е.В.   (2003-03-31 06:40:00) [3]

Такого метода у обьекта нет


Наверх

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