GdipTransformPoints()
Syntaxe
|
Resultat.i = GdipTransformPoints(*graphics, destSpace.i, srcSpace.i, @points.PointF, count.l)
Paramètres
|
*graphics[in] Pointeur sur un objet Graphics existant.
destSpace.i[in] Elément de l'énumération CoordinateSpace qui spécifie l'espace de coordonnées de destination.
srcSpace.i[in] Elément de l'énumération CoordinateSpace qui spécifie l'espace de coordonnées source.
points.PointF[in, out] Tableau de PointF (nombres flottants). Lors de l'appel de la fonction, le tableau est une variable d'entrée et est remplie avec les points à convertir. Au retour de la fonction le tableau de points contient les points convertis.
count.l
[in] Nombre d'éléments du tableau points.PointF.
Description
|
La fonction permet de convertir un tableau de points d'un espace de coordonnée à un autre. La conversion est basée sur la transformation courante world et page du graphique.
La transformation world, convertit des coordonnées world en coordonnées de page. La transformation de page, convertit les coordonnées de page en coordonnées device.
Exemple :
Dessine une fenêtre.
Le graphique principal (qui correspond au paramètre *graphics de la fonction) est créé à partir du Hdc de la fenêtre principale
On définit un tableau de 2 points x0 = 0, y0 = 0, x1 = 200 et y1 = 100.
On dessine une ligne en rouge entre ces deux points.
On applique une translation world en x de 40 et y de 80.
On applique une conversion du tableau de points (GdipTransformPoints()) d'un espace de coordonnées world en espace de coordonnées de page. Le tableau de points possède les points convertis.
On supprime la translation appliquée au graphique et on dessine la ligne en noir entre les deux points du tableau.La nouvelle ligne est tracée en fonctions des coordonnées de page, c'est-à-dire que la référence devient la surface de dessin, ici la zone client (sans barre de titre et contour) de la fenêtre. Le point x0 devient donc x0 d'origine auquel on ajoute la translation en X de 40 par rapport à l'angle supérieur gauche de la zone client de la fenêtre qui est l'origine et 80 pou y.
Les nouvelles coordonnées des 4 points deviennent :
x0 = 40, y0 = 80, x1 = 240 et y1 = 180.
Résultat
de la fonction
|
Si la fonction réussit, elle retourne #Ok qui est une constante de l'énumération status.
Si la fonction échoue, elle retourne une des autres valeurs de l'énumération status.
PB
- OS
|
PureBasic v4.30 bêta 4 (Windows - x86)
Testé avec Windows Vista édition familiale Premium