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

Вниз

Создание Polygon из динамического массива точек.   Найти похожие ветки 

 
amochkin   (2002-07-05 14:25) [0]

Друзья,

помогите с сабжем.
Проблема: в функции DrawDynamicPolyArray массив, представленый указателем p не "вырастает", т.е. остается нулевым.
Это видно через Debug->Inspect.
Соответсвенно полигон не прорисовывется.


type
TPtArray = array[0..0] of TPoint;
PPtArray = ^TPtArray;

procedure TForm1.DrawDynamicPolyArray(varCanvas : TCanvas; Points: array of TPoint);
var
a : TPtArray;
p : PPtArray;
i, numpoints, tpsize : integer;
begin
numpoints := Length(Points);
tpsize := sizeof(TPoint);
{$IFOPT R+}
{$DEFINE CKRANGE}
{$R-}
{$ENDIF}
GetMem(p, tpsize * numpoints);
for i := 0 to (numpoints - 1) do begin
p^[i].x := Points[i].X;
p^[i].y := Points[i].Y;
end;
Polygon(varCanvas.Handle, p, numpoints);
FreeMem(p, tpsize * numpoints);
{$IFDEF CKRANGE}
{$UNDEF CKRANGE}
{$R+}
{$ENDIF}
end;

procedure TForm1.Button1Click(Sender: TObject);
var Points: array of TPoint;
begin
SetLength(Points,5);
Points[0].X := 50; Points[0].Y := 50;
Points[1].X := 150; Points[1].Y := 50;
Points[2].X := 100; Points[2].Y := 200;
Points[3].X := 50; Points[3].Y := 50;
Points[4].X := 0; Points[4].Y := 0;
DrawDynamicPolyArray(Image1.Canvas, Points);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Image1.Canvas.Pen.Color := clBlue;
Image1.Canvas.Brush.Color := clYellow;
end;



Оригинальная идея взята с:
http://community.borland.com/article/0,1410,15919,00.html


 
MBo ©   (2002-07-05 14:39) [1]

procedure TForm1.Button2Click(Sender: TObject);
var Points:array of tpoint;
begin
SetLength(Points,4);
Points[0].X := 50; Points[0].Y := 50;
Points[1].X := 150; Points[1].Y := 50;
Points[2].X := 100; Points[2].Y := 200;
Points[3].X := 50; Points[3].Y := 50;
Polygon(image1.canvas.Handle, points[0], 4);
end;



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

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

Наверх




Память: 0.47 MB
Время: 0.013 c
1-58056
werr
2002-07-05 17:04
2002.07.18
Как узнать каким юзером занят файл?


14-58266
IronHawk
2002-06-10 02:30
2002.07.18
Что день грядущий нам готовит .......


4-58378
Doctor Deejay
2002-05-18 12:58
2002.07.18
Снова про hook


3-58015
maniak
2002-06-19 12:16
2002.07.18
А где-же наши пароли ?


3-57974
Новичок в БД
2002-06-25 10:41
2002.07.18
Имя файла?