Lissage de courbes

Soyez le premier à donner votre avis sur cette source.

Snippet vu 11 196 fois - Téléchargée 73 fois

Contenu du snippet

Avant tout, définir les variable suivantes:

Private Type POINTAPI
X As Long
Y As Long
End Type

Private Type Coord
X As Double
Y As Double
z As Double
End Type

Private Declare Function PolyBezier Lib "gdi32" (ByVal hdc As Long, lppt As POINTAPI, ByVal cPoints As Long) As Long

Source / Exemple :


Dim Bez() As POINTAPI

Open "C:\…\Fichier.txt" For Input As 1

Do Until EOF(1) 'Fichier texte ouvert avec le n°1
   Dim EchModifY As Double, EchModifX As Double
   EchModifY = Report.Picture1.ScaleX(1, 0, 3) 
   EchModifX = Report.Picture1.ScaleY(1, 0, 3)
                    
   If EOF(1) Then Exit Do
   ReDim Bez(np - 1)
   For i = 1 To NbrePts 'NbrePts = Val. num. Integer
      Input #1, X#, Y# 'Lecture dans un fichier texte, par exemple
      Bez(i - 1).X = X
      Bez(i - 1).Y = Y
   Next
   l& = PolyBezier(Picture1.hdc, Bez(0), UBound(Bez))
Loop
Close 1

Conclusion :


Si vous utilisez une autre unité que le pixel, corrigez vos valeurs avec les instructions:
EchelleX = Picture1.ScaleX(1, 0, 3)
EchelleY =Picture1.ScaleY(1, 0, 3)

A voir également

Ajouter un commentaire

Commentaires

Messages postés
123
Date d'inscription
dimanche 9 mars 2003
Statut
Membre
Dernière intervention
29 avril 2009

Donc si j'ai bien compris, on stocke des couples de coordonnées P(x,y) dans un fichier texte sous la forme:
X1,Y1
X2,Y2
X...
Puis on utilise ton bout de code, c'est ça?

Désolé d'être obtus aujourd'hui, mais je vois pas le pourquoi de la boucle i et de doubler le test EOF... tu veux bien m'éclairer?
Sympa en tout cas, je vais voir car ça peut vachement me servir pour une appli graphique, mais je vais l'utiliser avec une DB ;o) !
Encore merci pour ce code :)
Messages postés
2215
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
16 juillet 2009

Salut, cette méthode m'interesse beaucoup mais j'ai du mal à utiliser ton code, que faut il mettre dans le fichier texte ??
Merci
Messages postés
1134
Date d'inscription
mercredi 2 octobre 2002
Statut
Membre
Dernière intervention
24 juillet 2011
1
Pourrais-tu nous mettre tout cela dans un projet et nous faire une capture ?

Merci...

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.