Thema: Delphi GDI+ und DrawPolygon

Einzelnen Beitrag anzeigen

xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#8

Re: GDI+ und DrawPolygon

  Alt 7. Mär 2008, 15:09
Hallo,

ein Array of PGPPoint dürfte eigentlich nicht funktionieren. Die Funktion erwartet ja einen Pointer auf ein Array mit Punkten, nicht einen Pointer auf ein Array mit Pointern.

das einfachste ist übrigens folgendes:
Delphi-Quellcode:
procedure TMainForm.Draw;
const
  ALPHA = 100;
var
  Graphics: TGPGraphics;
  GdiPen: TGPPen;
  points: Array of TGPPoint;
  PenR, PenG, PenB: Integer;
  Count: Integer;
begin
  PenR := GetRValue(clGray);
  PenG := GetGValue(clGray);
  PenB := GetBValue(clGray);

  Graphics := TGPGraphics.Create(TChart(Sender).Canvas.Handle);
  GdiPen := TGPPen.Create(MakeColor(Alpha, penR, PenG, PenB));

  SetLength(Points, 4);
  points[0].X := xBegin;
  points[0].Y := y;
  points[1].X := xEnd;
  points[1].Y := y;
  points[2].X := xEnd+xDelay;
  points[2].Y := y-yDelay;
  points[3].X := xBegin+xDelay;
  points[3].Y := y-yDelay;
  
  Count := 4;
  Graphics.DrawPolygon(GdiPen, points, Count);
end;
Ich hab gerade kein Delphi zur Hand, um das zu überprüfen, aber da ein dynamisches Array ein Zeiger ist, müsste das gehen.

Gruß
xaromz
I am a leaf on the wind - watch how I soar
  Mit Zitat antworten Zitat