Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Компоненты и классы
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 01.05.2008, 17:34
Спаплюжений Спаплюжений вне форума
Прохожий
 
Регистрация: 01.05.2008
Сообщения: 4
Репутация: 10
По умолчанию Определен класс, описывающий овал.

Прошу помочь, как описываеться овал.
Ответить с цитированием
  #2  
Старый 01.05.2008, 18:22
Ozerich Ozerich вне форума
Новичок
 
Регистрация: 11.04.2008
Адрес: В городе-герой Минск
Сообщения: 69
Репутация: 10
По умолчанию

canvas.Ellipse
Ответить с цитированием
  #3  
Старый 01.05.2008, 23:14
Спаплюжений Спаплюжений вне форума
Прохожий
 
Регистрация: 01.05.2008
Сообщения: 4
Репутация: 10
По умолчанию

типа два эллипса нужно сделать?
Ответить с цитированием
  #4  
Старый 02.05.2008, 18:07
Ozerich Ozerich вне форума
Новичок
 
Регистрация: 11.04.2008
Адрес: В городе-герой Минск
Сообщения: 69
Репутация: 10
По умолчанию

Нарисуй мне еллипс
Ответить с цитированием
  #5  
Старый 02.05.2008, 22:26
Спаплюжений Спаплюжений вне форума
Прохожий
 
Регистрация: 01.05.2008
Сообщения: 4
Репутация: 10
По умолчанию

вот текст, здесь рисуеться три ромба, подскажите как нарисовать овал.

Код:
var
  Form1: TForm1;
  fi:array [0..2] of TMyClass;
implementation

{$R *.dfm}

constructor  TMyClass.Create(img:TImage);
begin

m_a:=50;
m_alpha:=60;
m_beta:=30;
m_image:=img;
m_color:=clBlack;
m_image.Canvas.Brush.Color:=m_color;

end;

function TMyClass.GetBgColor:TColor;
begin
result:=m_color;
end;

procedure TMyClass.SetBgColor(color:TColor);
begin
m_color:=color;
//m_image.Canvas.Brush.Color:=m_color;
end;

procedure
var
pts: array[1..4] of TPoint;
begin

with m_image.Canvas do
     begin
        Brush.Color:=m_color;
        pts[1].X:=m_pos.X + trunc(m_a*cos(m_alpha*Pi/360)*cos(m_beta*Pi/180)+0.5);
        pts[1].Y:=m_image.Height - (m_pos.Y+trunc(m_a*cos(m_alpha*Pi/360)*sin(m_beta*Pi/180)+0.5));
        pts[2].X:=m_pos.X - trunc(m_a*sin(m_alpha*Pi/360)*cos((90-m_beta)*Pi/180)+0.5);
        pts[2].Y:=m_image.Height - (m_pos.Y+trunc(m_a*sin(m_alpha*Pi/360)*sin((90-m_beta)*Pi/180)+0.5));
        pts[3].X:=m_pos.X-trunc(m_a*cos(m_alpha*Pi/360)*cos(m_beta*Pi/180)+0.5);
        pts[3].Y:=m_image.Height - (m_pos.Y-trunc(m_a*cos(m_alpha*Pi/360)*sin(m_beta*Pi/180)+0.5));
        pts[4].X:=m_pos.X + trunc(m_a*sin(m_alpha*Pi/360)*cos((90-m_beta)*Pi/180)+0.5);
        pts[4].Y:=m_image.Height - (m_pos.Y-trunc(m_a*sin(m_alpha*Pi/360)*sin((90-m_beta)*Pi/180)+0.5));
        Polygon(pts);
     end;
end;

procedure TMyClass.SetAB(A,Alpha,Beta:integer);
begin
m_a:=A;
m_alpha:=Alpha;
m_beta:=Beta;
end;

procedure TMyClass.GetAB(var A,Alpha,Beta:integer);
begin
a:=m_A;
Alpha:=m_Alpha;
Beta:=m_beta;
end;

function TMyClass.GetPos:TPoint;
begin
result:=m_pos;
end;

procedure TMyClass.SetPos(pos:TPoint);
begin
m_pos:=pos;
end;

procedure TForm1.FormCreate(Sender: TObject);
var
a,alpha,beta,i:integer;
pos:TPoint;
begin
randomize;
for i:=0 to 2 do
begin
fi[i]:=TMyClass.Create(Image1);
pos.X:=100+75*i;
pos.Y:=50*i+100;
fi[i].SetPos(pos);
fi[i].SetBgColor(RGB(random(255),random(255),random(255)));
fi[i].drow;
end;
fi[0].GetAB(a,alpha,beta);
pos:= fi[0].GetPos;
LabeledEdit1.Text:=inttostr(A);
LabeledEdit2.Text:=inttostr(Alpha);
LabeledEdit3.Text:=inttostr(Beta);
LabeledEdit5.Text:=inttostr(Pos.X);
LabeledEdit6.Text:=inttostr(Pos.Y);
Edit1.TExt:=ColorToString(fi[0].GetBgColor);
end;

procedure TForm1.Button2Click(Sender: TObject);
var a,alpha,beta,i:integer;
tmp:TPoint;
begin
A:=StrToInt(LabeledEdit1.Text);
Alpha:=StrToInt(LabeledEdit2.Text);
Beta:=StrToInt(LabeledEdit3.Text);
if(Alpha < 0) then
  Alpha:=0;
if(Beta < 0) then
  Beta:=0;
fi[RadioGroup1.ItemIndex].SetAB(A,ALPHA,Beta);
tmp.x:=StrToInt(LabeledEdit5.Text);
tmp.Y:=StrToInt(LabeledEdit6.Text);
fi[RadioGroup1.ItemIndex].SetPos(tmp);
fi[RadioGroup1.ItemIndex].SetBgColor(StrToInt(Edit1.TExt));
Image1.Canvas.Brush.Color:=clWhite;
Image1.Canvas.Rectangle(-1,-1,Image1.Width+1,Image1.Height+1);
for i:=0 to 2 do
  fi[i].drow;
end;

procedure TForm1.RadioGroup1Click(Sender: TObject);
var a,alpha,beta:integer;
begin
fi[RadioGroup1.ItemIndex].GetAB(a,alpha,beta);
LabeledEdit1.Text:=inttostr(A);
LabeledEdit2.Text:=inttostr(Alpha);
LabeledEdit3.Text:=inttostr(Beta);
LabeledEdit5.Text:=inttostr(fi[RadioGroup1.ItemIndex].GetPos.X);
LabeledEdit6.Text:=inttostr(fi[RadioGroup1.ItemIndex].GetPos.Y);
Edit1.TExt:=ColorToString(fi[RadioGroup1.ItemIndex].GetBgColor);
end;

end.

Admin: Читаем правила форума и учимся правильно оформлять код.

Последний раз редактировалось Admin, 03.05.2008 в 12:44.
Ответить с цитированием
  #6  
Старый 02.05.2008, 22:54
Ozerich Ozerich вне форума
Новичок
 
Регистрация: 11.04.2008
Адрес: В городе-герой Минск
Сообщения: 69
Репутация: 10
По умолчанию

Я думаю тебя наругают что не умеешь пользоваться тегами
Ответить с цитированием
  #7  
Старый 03.05.2008, 22:46
Спаплюжений Спаплюжений вне форума
Прохожий
 
Регистрация: 01.05.2008
Сообщения: 4
Репутация: 10
По умолчанию

Пршу прощения. Больше такое не повторится.
А по теме вопроса какие нибудь подсказки будут
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 02:00.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter