Исходники и листинги ::: Delphi ::: Рисуем звезды!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
unit Stars_;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure StarLine(x0,y0,r: integer; Canvas: TCanvas);
// x0,y0 - координаты центра звезды
// r - радиус звезды
var
p : array[1..11] of TPoint; // массив координат лучей и впадин
a: integer; // угол между осью ОХ и прямой, соединяющей
// центр звезды и конец луча или впадину
i: integer;
begin
a := 18; // строим от правого гор. луча
for i:=1 to 10 do
begin
if (i mod 2 = 0) then
begin // впадина
p[i].x := x0+Round(r/2*cos(a*2*pi/360));
p[i].y:=y0-Round(r/2*sin(a*2*pi/360));
end
else
begin // луч
p[i].x:=x0+Round(r*cos(a*2*pi/360));
p[i].y:=y0-Round(r*sin(a*2*pi/360));
end;
a := a+36;
end;
p[11].X := p[1].X; // чтобы замкнуть контур звезды
p[11].Y := p[1].Y;
Canvas.Polyline(p); // начертить звезду
end;
// нажатие кнопки мыши
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if Button = mbLeft // нажата левая кнопка?
then Form1.Canvas.Pen.Color := clBlack
else Form1.Canvas.Pen.Color := clRed;
StarLine(x, y, 30,Form1.Canvas);
end;
end.
<<< Предыдущая работа
Вычисление стоимости телефонного разговора
Автор: Nerevarin
что еще можно сюда добавить???????
Вернуться в галерею исходников
Рисуем звезды!
Автор:
Nerevarin*
Город: Новочебоксарск
Дата: 23.01.2007 18:04
Комментариев:
4
Просмотров: 339
Оценка:
0
(
0
|
0
|
0
|
0
|
0
) [
0
]
Следующая работа >>>
Решение квадратных уравнений
Автор: Nerevarin
Программа находится в программировании
Вернуться на главную
Авторский комментарий к работе:
готовая программа лежит в программировании
Вы не можете оценивать
КОММЕНТАРИИ К РАБОТЕ:
алинушка
::: комментарий от 01.02.2008 | 17:41
Дух (ур.1)
Очки: 28
Город: северск
Тв. работ: 0
Рег: 01.02.2008 (6820)
оьбъсните плиз как запустить
Boland*
::: комментарий от 22.04.2007 | 11:54
Приверженец (ур.6)
Очки: 540
Город: Томск
Тв. работ: 7
Рег: 05.05.2006 (81)
Довольно таки интересно...
--------------------
Мысль изречённая,есть ложь.
Nerevarin*
::: комментарий от 26.01.2007 | 19:17
Наставник (ур.16)
Очки: 21560
Город: Новочебоксарск
Тв. работ: 119
Рег: 07.10.2006 (1013)
Ответ для DaniilKhanin 26.01.2007 | 16:50:
Отличная идея !Спасибо.
--------------------
Моя совесть чиста-я ей не пользуюсь!
DaniilKhanin
::: комментарий от 26.01.2007 | 16:50
Инструктор (ур.15)
Очки: 19261
Город:
Тв. работ: 0
Рег: 07.11.2006 (1378)
так теперь чтобы твоя программа была не просто так фигней, сделай окошко позволяющее менять число лучей у звезды. и ваще супер.... можно приступать к созданию векторного редактора.