Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.12.03;
Скачать: CL | DM;

Вниз

Попиксельно нарисовать эллипс   Найти похожие ветки 

 
Серджинйо   (2006-04-15 15:03) [0]

Эллипс вписан в прямоугольник,
Надо получить 2хМассив координат точек окружности эллипса
известны Левая верхняя и правая нижняя точки прымоугольника.
как это сделать????


 
antonn ©   (2006-04-15 15:11) [1]

нарисовать на битмапе, пройтись в цикле и собрать пиксели, отличные от фона


 
Rial ©   (2006-04-15 17:57) [2]

Type TMas=Array of Array of Boolean;

function BuildMas(Const Left,Bottom,Right,Top:Integer):TMas;
Var I,J:Integer;
   LX,LY:Integer;
   CX,CY:Extended;
begin
LX:=Right-Left+1;
LY:=Top-Bottom+1;
If (LX<=0)or(LY<=0)then Exit;
CX:=LX/2.0;
CY:=LY/2.0;
SetLength(Result,LX);
For I:=0 to LX-1 do begin
 SetLength(Result[I],LY);
 For J:=0 to LY-1 do
  Result[I,J]:=(Sqr((I-CX)/CX)+Sqr((J-CY)/CY)<=1.0);
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
Var M:TMas;
begin
M:=BuildMas(0,0,7,3);
If (M[4,0])then Beep();
end;


Теоритически должно работать.


 
Gorger ©   (2006-04-23 16:21) [3]

Грубо навскидку:
type PPoint=^TPoint;
var H1:HRGN:
i,j:integer;
L:TList;
p:PPoint;
begin
L:=TList.Create;
H1:=CreateEllipticRgn(...)
for i:=1 to Form1.Width do begin
for j:=1 to Form1.Height do begin
if PtInRgn(H1,i,j) then  begin
New(P);
P.X:=i;P.Y:=j;
L.Add(p);
end;
end;
end;


 
Серджинйо   (2006-04-24 02:14) [4]

Gorger - угу :-)
Я так и делал...


 
a22 ©   (2006-04-25 15:59) [5]

напиши в яндексе "уравнение эллипса", посчитай фокусы (раз углы прямоугольника есть) и вот он, эллипс...



Страницы: 1 вся ветка

Текущий архив: 2006.12.03;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.074 c
4-1153409355
tria
2006-07-20 19:29
2006.12.03
Проблема со считыванием данных из com- порта.


6-1152443749
Asail
2006-07-09 15:15
2006.12.03
Трабла с proxy через TIdHTTP (Indy 10)


15-1163068094
Vulix
2006-11-09 13:28
2006.12.03
Протокол Mail.Ru агента


9-1139200943
MadAngel
2006-02-06 07:42
2006.12.03
Японский кроссворд


15-1163456184
константинов
2006-11-14 01:16
2006.12.03
Флэшки. USB port