Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.09.2010, 17:02   #1
jaxik
Пользователь
 
Регистрация: 12.01.2008
Сообщений: 17
По умолчанию Есть определённые радиус и высота. Как по этим данным программно нарисовать цилиндр в Image?

Есть определённый радиус и высота. Как по этим данным программно нарисовать цилиндр в Image? Что бы при получении других данных, цилинд менял размеры. Данные надо как то смасштабировать что бы они влезали в границы.
Помогите кто может....
jaxik вне форума Ответить с цитированием
Старый 14.09.2010, 23:16   #2
chertovich
Форумчанин
 
Аватар для chertovich
 
Регистрация: 26.07.2009
Сообщений: 489
По умолчанию

Рисуй на Canvas, а для прорисовки цилидра нужен свой алгоритм
Если в глубине души вы программист, то, следуя своим наклонностям, вы захотите написать кусок кода.
chertovich вне форума Ответить с цитированием
Старый 15.09.2010, 13:33   #3
jaxik
Пользователь
 
Регистрация: 12.01.2008
Сообщений: 17
По умолчанию

я уже прорисовал цилиндр. А вот как это всё сделать с готовыми числами....

Код:
a:=round(strtofloat(label1.caption)); // радиус
b:=round(strtofloat(label2.caption));  //высота.

WITH Image1.Canvas DO
  BEGIN
   Brush.Color:=clWhite;
   Pen.Color:=clBlack;
   image1.Canvas.Ellipse(60,210,100,250);
   image1.Canvas.Ellipse(60,65,100,105);
   MoveTo(60,80);
   LineTo(60,230);
   MoveTo(99,85);
   LineTo(99,230);
   end;

Последний раз редактировалось Stilet; 15.09.2010 в 13:46.
jaxik вне форума Ответить с цитированием
Старый 15.09.2010, 16:36   #4
dmitriegorovih
Ещё не
Форумчанин
 
Аватар для dmitriegorovih
 
Регистрация: 04.01.2010
Сообщений: 517
По умолчанию

Цитата:
А вот как это всё сделать с готовыми числами....
Вы имели введу вводить разные числа то вот так

Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
try
image1.Picture:=nil;
a:=round(strtofloat(edit1.Text)); // радиус
b:=round(strtofloat(edit2.Text));  //высота.

WITH Image1.Canvas DO
  BEGIN
   Brush.Color:=clWhite;
   Pen.Color:=clBlack;
   image1.Canvas.Ellipse(60,65+b,60+a*2,100+b);
   image1.Canvas.Ellipse(60,65,60+a*2,105);
   MoveTo(60,80);
   LineTo(60,80+b);
   MoveTo(60+a*2,85);
   LineTo(60+a*2,80+b);
   end;
   except
   showmessage('Неправильно введины числа!');
   end;
end;
Воображение важнее, чем знания. (Albert Einstein)
dmitriegorovih вне форума Ответить с цитированием
Старый 16.09.2010, 12:18   #5
jaxik
Пользователь
 
Регистрация: 12.01.2008
Сообщений: 17
По умолчанию

Спс большое. Всё работает =)
jaxik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как нарисовать цилиндр ? Andreyko Паскаль, Turbo Pascal, PascalABC.NET 0 08.06.2010 20:10
Как случайным образом нарисовать 200 точек на Image SnowSin Общие вопросы Delphi 3 11.11.2009 18:46
Есть ли в Delphi возможность управлять доступом к компонентам и данным в многопользовательских приложения Acidic Общие вопросы Delphi 0 28.03.2009 22:08
Как в аплете нарисовать цилиндр? Лис_ Общие вопросы по Java, Java SE, Kotlin 0 28.12.2008 21:08
Как перенести определённые данные из строки Kamikaze13 Microsoft Office Excel 3 21.11.2008 10:57