![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Поворот изображения в 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]Такого метода у обьекта нет