Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Помогите кто может [D6]


котел ©   (2002-12-10 00:52:00) 

Имеется окружность. Нужно постепенно залить круг(типа горизонтальный уровень в стакане),вариант с Pie не предлогагь


MBo   (2002-12-10 14:21:00) [1]

timer1.enabled:=True;
h:=0;
x0:=200;
y0:=200;
r:=100;


procedure TForm1.Timer1Timer(Sender: TObject);
begin
h:=h+0.01;
if h>pi then
Timer1.Enabled:=False;
Canvas.Chord(x0-r,y0-r,x0+r,y0+r,x0-round(r*sin(h)),
y0+round(r*cos(h)),x0+round(r*sin(h)),y0+round(r*cos(h)));
end;


zavdim   (2002-12-10 10:29:00) [2]

не заметил слова "постепенно".
но мой вариант(без подробностей) - катит, у меня там постепнно и закрашивается.


han_malign   (2002-12-10 10:25:00) [3]

Докатились - уже не можем сами нарисовать фигурную гистограмму, с заданной формой границы, дети этим еще в 5-8 классе балуются.
Как вариант - рисуешь в Paint-е маску(хоть в виде члена с яйцами...)(маска - битовая матрица задающая поле отрисовки(монохромная картинка)), а дальше по маске рисуешь прямоугольник нужной высоты - можно руками проверять, можно воспользоваться API функциями(MaskBlt - скажем).


Наталия   (2002-12-10 09:45:00) [4]

А можно и через регионы попробовать решать...


zavdim   (2002-12-10 08:33:00) [5]

1. А можно узнать чем Pie не нравится?
2. Если фигура выпуклая, есть начальная точка в фигуре и есть функция, которая возвращает истину если переданная ей точка лежит в фигуре и наоборот, то я писал функцию заливки, по пути считал площадь фигуры.


PVOzerski   (2002-12-10 02:48:00) [6]

IMHO, надо исходить из уравнения окружности x^2+y^2=R^2: находим возможные значения абсциссы для одной и той же ординаты и, если их 2, рисуем линию (с учетом поправок для X и Y, исходящих из координат центра окружности, а также того, что точка, куда непостредственно указывает LineTo, не прокрашивается, т.е надо прибавлять ко 2-й абсциссе еще единичку).


Наверх

Титульная страница Поиск, карта сайта Написать письмо