EFFET DES VAGUES SUR UNE IMAGE(EFFET)

MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 - 14 juil. 2007 à 15:12
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 17 juil. 2007 à 11:01
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/43455-effet-des-vagues-sur-une-image-effet

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
17 juil. 2007 à 11:01
4every1, arretes le SMS ! ca commence a m'agacer.

Merci.

Renfield - Admin CS
4every1 Messages postés 10 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 2 septembre 2008
17 juil. 2007 à 10:59
Pour que tu sois un bon programmeur, il faut que tu fais tous les pas personnellement je v faire tt les chose par moi mm...
FREMYCOMPANY Messages postés 276 Date d'inscription jeudi 12 janvier 2006 Statut Membre Dernière intervention 22 décembre 2008
16 juil. 2007 à 12:29
Pourquoi ne pas utiliser le filtre Wave de Microsoft ?
Je sais pas comment l'utiliser en VB mais je penses que cela doit être un composant COM
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
16 juil. 2007 à 12:11
que c'est lent...

quelques toutes petites améliorations :

Private Declare Function GetPixel Lib "gdi32.dll" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long
Private Declare Function SetPixelV Lib "gdi32.dll" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal crColor As Long) As Long

Private Sub Command2_Click()
Dim i As Long, j As Long, color As Long
Dim k As Long
Picture2.AutoRedraw = True
Picture2.Cls
For j = 0 To Picture1.ScaleHeight
k = 6 * Sin(j / 20)
For i = 0 To Picture1.ScaleWidth
color = GetPixel(Picture1.hdc, i, j)
SetPixelV Picture2.hdc, i + k, j, color
Next i
Next j
Picture2.AutoRedraw = False
End Sub

et pour l'enregistrement, c'est simplement :

Private Sub CcBtnSave_Click()
SavePicture Picture2.Image, "C:\a.jpg"
End Sub
4every1 Messages postés 10 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 2 septembre 2008
16 juil. 2007 à 11:51
oui MADM@TT:
c accessible par le backcolor du picturebox:

Picture2.backcolor = "votre couleur"
MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 1
14 juil. 2007 à 15:12
L'effet marche bien, par contre il faudrait remplir de noir ou blanc (ou autre couleur) les cotés qui sont vides après l'effet de vague, ça rendrait peut etre mieux
Rejoignez-nous