Dessiner un polygone rempli

cs_LUDEr Messages postés 27 Date d'inscription mardi 12 février 2002 Statut Membre Dernière intervention 21 juin 2002 - 16 avril 2002 à 13:52
cs_LUDEr Messages postés 27 Date d'inscription mardi 12 février 2002 Statut Membre Dernière intervention 21 juin 2002 - 17 avril 2002 à 08:53
Je cherche à dessiner un polygone de forme complexe ( exemple carte de France ) et de le remplir avec une couleur.

Comment faire?

2 réponses

cs_Cath Messages postés 27 Date d'inscription samedi 13 avril 2002 Statut Membre Dernière intervention 26 novembre 2005
16 avril 2002 à 17:39
Salut,
Pour dessiner le polygone, l'API n'est pas indispensable, mais pour le remplir avec la couleur de ton choix, je te recommande la fonction API
FloodFill, assez facile à utiliser.
Voici une méthode possible :
Déclaration de deux tableaux de variables longues
Dim PTX() as Long, PTY() as Long
Dim I as Integer
Dim RepAPI as Long
Si ton polygone a 5 points par exemple :
Redim PTX(5), PTY(5)
'Affectation des valeurs, par exemple :
PTX(0) = 200 'Représente le centre
PTY(0) = 200 'de la figure
PTX(1) = 100 'Représente le premier
PTY(1) = 100 'point du polygone
PTX(2) = 200 'Représente le second
PTY(2) = 100 'point du polygone
PTX(3) = 300
PTY(3) = 200
PTX(4) = 250
PTY(4) = 300
PTX(5) = 150
PTY(5) = 300
'Dessin du périmètre
For I = 1 to 5
if I < 5 then
Picture1.Line (PTX(I),PTY(I)) - (PTX(I + 1), PTY(I +1)), QBColor(0)
else
Picture1.Line (PTX(5),PTY(5)) - (PTX(1), PTY(1)), QBColor(0)
End If
Next
'Coloriage
Picture1.FillStyle = 0
Picture1.FillColor = QBColor(9) 'la couleur de ton choix
RepAPI = FloodFill(Picture1.hDC, PTX(0), PTY(0), QBColor(0))

Si tu veux un exemple de polygones remplis, je te conseille de consulter le programme FIGURES que j'ai mis en Code Sources sur ce site (il s'agit de polygones réguliers mais le principe reste le même).

A+
Cath
0
cs_LUDEr Messages postés 27 Date d'inscription mardi 12 février 2002 Statut Membre Dernière intervention 21 juin 2002
17 avril 2002 à 08:53
Merci Cath
0
Rejoignez-nous