Форум: "Основная";
Текущий архив: 2007.06.17;
Скачать: [xml.tar.bz2];
ВнизНепонятная особенность в работе кода Найти похожие ветки
← →
Angakok © (2007-04-19 20:59) [0]Имеется эллипс(круг), который ограничен прямоугольником EllipseRect. Требуется заполнить множество S точками, которые принадлежат этому кругу(лежат внутри). Для этого использую следующий код:
[code]
TMyPoint = class
public
x: Integer;
y: Integer;
constructor Create(tX: Integer; tY: Integer);
end;
...
constructor TMyPoint.Create(tX: Integer; tY: Integer);
begin
x := tX; y := tY;
end;
...
S: DSet;
EllipseRect: TRect;
j,k: Integer;
Rgn: HRGN;
...
Rgn := CreateEllipticRgnIndirect(EllipseRect);
if Rgn <> 0 then
try
for j := EllipseRect.Top to EllipseRect.Bottom do
for k := EllipseRect.Left to EllipseRect.Right do
if PtInRegion(Rgn,j,k) then
S.add([TMyPoint.Create(j,k)]);
finally
DeleteObject(Rgn);
end;
[/code]
Данный код работает верно, только тогда, когда EllipseRect.Top=EllipseRect.Left.
В чем прикол ???
← →
Vovan #2 (2007-04-19 22:55) [1]Может быть...
if PtInRegion(Rgn,k,j) then
S.add([TMyPoint.Create(k,j)]);
???
← →
Angakok © (2007-04-20 01:29) [2]
> Может быть...if PtInRegion(Rgn,k,j) then
> S.add([TMyPoint.Create(k,j)]);???
Точняк !!!!!!!! Это ведь координаты !!!!!! Работает!!!!
Спасибо !!!!!!!!!!!!!!
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2007.06.17;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.044 c