![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как продублировать картинку по окружности? [D7, WinXP]
Артем К. © (2004-06-06 08:40:00)Здравствуйте, Уваажемые Мастера!
Подскажите пожалуйста, как продублировать картинку по окружности
(ну скажем 10 раз)
Заранее спасибо!
Amoeba (2004-06-09 15:31:00) [1]Компонет для вращения: http://www.delphiarea.com/products/#TRotateImage
Ozone (2004-06-09 09:06:00) [2]To Sirgfine (09.06.04 04:49) [8]
Можно - поможет все та же математика...
Sirgfine (2004-06-09 04:49:00) [3]А как насчёт поворота (т.е. не просто копировать, а именно вращать)? Можно ли это сделать средствами Delphi без D3D и OpenGL?
R (2004-06-06 10:16:00) [4]Вспомнил школу с помощью статьи в интернет,
а реализ элементарный делов на 5 мин
procedure TForm1.Button1Click(Sender: TObject);
const
A=0.2;//Шаг
var
y,x,R,Lft,Tp:SmallInt;
circl:Extended; // где 0=<circl<=2*Pi;
begin
Lft:=Round(Form1.Width div 2);
Tp:=Round(Form1.Height div 2);
circl:=0;
R:=ScrollBar1.Position;
Repeat
x:=Round(R*cos(circl));
y:=Round(R*sin(circl));
//Memo1.Lines.Add('x='+IntToStr(x)+' y='+IntToStr(y)+'circl='+FloatToStr(circl));
Canvas.Draw(x+Lft,y+Tp,Image1.Picture.Graphic) ;
circl:=circl+A;
Until circl>2*Pi;
end;
Palladin (2004-06-06 09:12:00) [5]еслиб захотелось красоты и было время использовал бы D3D :)
Palladin (2004-06-06 09:04:00) [6]поместил в scrollbox image и рисовал бы на его(image) canvas
Артем К. (2004-06-06 09:00:00) [7]ну а как бы Вы сделали?
Palladin (2004-06-06 08:59:00) [8]Sin, Cos, школьный курс тригонометрии... BitBlt или аналагичные мотоды Canvas... я не знаю что ты используешь...
Артем К. (2004-06-06 08:51:00) [9]Ну есть у нас картинка и надо сделать так чтобы 10 ее копий были нарисованы по окружности
Palladin (2004-06-06 08:46:00) [10]Это как? Ну продублировать я еще понять могу - скопировать. Но по какой окружности? Окружность довольно абстрактное понятие.