0/5 (2 avis)
Vue 9 071 fois - Téléchargée 770 fois
Private Sub Command1_Click() Dim Ax1, Ay1, Bx1, By1, Cx1, Cy1 As Single Dim Ax2, Ay2, Bx2, By2, Cx2, Cy2, Dx2, Dy2 As Integer Ax1 = Picture1.Width / 4 Bx1 = 3 * Ax1 Ay1 = 3 * Picture1.Height / 4 By1 = Ay1 Cx1 = Bx1 Cy1 = Picture1.Height / 4 Picture1.Line (Ax1, Ay1)-(Bx1, By1), vbRed Picture1.Line (Cx1, Cy1)-(Bx1, By1), vbRed Picture1.Line (Cx1, Cy1)-(Ax1, Ay1), vbRed 'texture ???? Picture1.DrawWidth = 3 Picture1.PSet (Ax1, Ay1), vbRed Picture1.PSet (Bx1, By1), vbGreen Picture1.PSet (Cx1, Cy1), vbBlue Dim Ax3, Ay3, Bx3, By3, Cx3, Cy3 As Single Dim NbrPt As Integer Dim Ax4, Ay4, Bx4, By4, Cx4, Cy4 As Single Dim Ax6, Ay6, Bx6, By6, Cx6, Cy6 As Single NbrPt = 20 Ax2 = Abs(Ax1 - Bx1) / NbrPt Ay2 = Abs(Ay1 - By1) / NbrPt Bx2 = Abs(Bx1 - Cx1) / NbrPt By2 = Abs(By1 - Cy1) / NbrPt Cx2 = Abs(Cx1 - Ax1) / NbrPt Cy2 = Abs(Ay1 - Cy1) / NbrPt For y = 0 To NbrPt '------------------ Ax6 = Ax1 + y * Ax2 Ay6 = Ay1 + y * Ay2 Bx6 = Bx1 + y * Bx2 By6 = By1 + y * By2 Cx6 = Cx1 - y * Cx2 Cy6 = Cy1 + y * Cy2 '--------------------------- NbrPt2 = 30 Ax3 = Abs(Ax6 - Cx1) / NbrPt2 Ay3 = Abs(Ay6 - Cy1) / NbrPt2 Bx3 = Abs(Bx6 - Ax1) / NbrPt2 By3 = Abs(By6 - Ay1) / NbrPt2 Cx3 = Abs(Cx6 - Bx1) / NbrPt2 Cy3 = Abs(Cy6 - By1) / NbrPt2 'ok ! mais apres c'est le mélange des couleurs qui serait vraiment bien !!!!! 'comme en peinture justement !!!! mais comment ???????????????? For t = 0 To NbrPt2 * 3 / 4 Ax4 = Cx1 - t * Ax3 Ay4 = Cy1 + t * Ay3 Bx4 = Ax1 + t * Bx3 By4 = Ay1 - t * By3 Cx4 = Bx1 - t * Cx3 Cy4 = By1 - t * Cy3 Picture1.PSet (Cx4, Cy4), vbBlue Picture1.PSet (Ax4, Ay4), vbRed Picture1.PSet (Bx4, By4), vbGreen Next Next Set couleur = Nothing couleur = Picture1.Point(Ax1 + 153, Ay1 - 150) End Sub
27 juil. 2010 à 15:56
Que de code pour un résultat médiocre!
Créer des fonctions de dessin dans un module non dans la feuille.
Comme dit Renfield, chaque variable doit etre déclarée explicitement.
Dim Ax1, Ay1, Bx1, By1, Cx1, Cy1 As Single
devient
! = as single
& = as long
% =as integer
# = as double
Dim Ax1!, Ay1!, Bx1!, By1!, Cx1!, Cy1!
Bon courage.
@+
27 juil. 2010 à 14:14
dans ce genre de codes, seul CY1 est un Single
les autres seront des Variant
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.