PB avec floodfill

I3eber Messages postés 1 Date d'inscription mardi 20 avril 2004 Statut Membre Dernière intervention 28 avril 2004 - 28 avril 2004 à 12:28
ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 - 25 juin 2004 à 20:17
Jai fait un sous programme dessinant un triangle, ce sous programme est censé egalement remplir ce triangle, mais bien que les coordonées que je transmet a floodfill soient dans le triangle, il remplit l'exterieur. Comment faire??
voici le code de ma sous fonction

Private Sub Triangle(pt1x As Double, pt1y As Double, pt2x As Double, pt2y As Double, pt3x As Double, pt3y As Double)
Picture1.Line (pt1x, pt1y)-(pt2x, pt2y)
Picture1.Line (pt2x, pt2y)-(pt3x, pt3y)
Picture1.Line (pt1x, pt1y)-(pt3x, pt3y)
Picture1.Line (-1, -0.8)-(20, -0.8)
Picture1.Line (-0.8, -1)-(-0.8, 20)

res = FloodFill(Picture1.hdc, (((((pt1x) + (pt2x)) / 2) + (pt3x)) / 2), (((((pt1y) + (pt2y)) / 2) + (pt3y)) / 2), vbBlack)
Triangle = (((((pt1x) + (pt2x)) / 2) + (pt3x)) / 2)
End Sub

Merci

Beber->

1 réponse

ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 26
25 juin 2004 à 20:17
salut

utilise plutot ExtFloodFill (FloodFill est obsolète)

'res = ExtFloodFill(Picture1.hdc, (((((pt1x) + (pt2x)) / 2) + (pt3x)) / 2), (((((pt1y) + (pt2y)) / 2) + (pt3y)) / 2), vbBlack, FLOODFILLBORDER)
il faut par contre que les traits de ton triangle soient noirs (ForeColor vbBlack et FillStyle Solid). Enfin et c de la que vient ton prb, il faut que ScaleMode soit en Pixel et non en twip car FloodFill et ExtFloodFill attendent x et y en pixels

voilà

ShareVB
0
Rejoignez-nous