Appel de l'api "PolyBezier" en Delphi
Bonjour
J'essaie d'appeler l'api PolyBezier (http://msdn.microsoft.com/en-us/libr...=VS.85%29.aspx) déclarée dans l'unité Windows.pas comme ceci :
Code:
1 2
| {$EXTERNALSYM PolyBezier}
function PolyBezier(DC: HDC; const Points; Count: DWORD): BOOL; stdcall; |
Dans mon code je procède comme suit:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
var
...
J:Integer;
BitmapHDC: L_HDC;//Handle du bitmap sur lequel je vais dessiner
APointsList: array of TPoint;//Tableaux dynamique des sommets de mon bezier
ANbPoints: Integer;//Nombre de points de mon bezier
begin
//Initialisation de la taille du tableau de points
ANbPoints := AContour.Count;
SetLength(APointsList, ANbPoints);
for J := 0 to ANbPoint - 1 do begin
...Divers calculs de changement de repère....
APointsList[J].X := AImagePoint2.X;
APointsList[J].Y := AImagePoint2.Y;
end;
PolyBezier(BitmapHDC, APointsList, ANbPoints);
end; |
Malheureusement ça n'a pas l'air de marcher: les lignes affichées ne correspondent pas à ce que j'attends. Le calcul de coordonnées de AImagePoint2 est bon.
Ou se trouve mon erreur?
Merci de votre aide.