Ich bin mir nicht sicher, was du meinst. Willst du die
Pixel eines Bildes in ein Array schreiben? Das ergibt wenig Sinn. Oder willst du die
Eckpunkte eines Vielecks in einem Gerätekontext in ein Array laden?
Letztes geht recht einfach, indem du BeginPath(DeineCanvas.Handle) aufrufst, bevor das Zeichnen beginnt.
Nachdem gezeichnet wurde, kannst du so die
Windows.tagPOINT
s deines Gerätekontexts abfragen:
Delphi-Quellcode:
type
TPoints = packed array of tagPOINT;
var
Points: TPoints;
Types: TBytes;
Count: Integer;
begin
Count := GetPath(DeineCanvas.Handle, Points[0], Types[0], 0); // Länge 0 vorgeben = zukünftige Länge abfragen
SetLength(Points, Count);
SetLength(Types, Count);
GetPath(DeineCanvas.Handle, Points[0], Types[0], Count);
// TuWas
EndPath(DeineCanvas.Handle);
end;
Types
kannst du ignorieren, wenn du keine Bézierkurven zeichnest.