Zoom sur une image

Soyez le premier à donner votre avis sur cette source.

Snippet vu 5 066 fois - Téléchargée 41 fois

Contenu du snippet

Ce code est un zoom tout simple sans prétention en utilisant l'API StretchBlt

Pour faire un dézoom il faut juste changer le signe + en -

Source / Exemple :


Const ScrCopy = &HCC0020

Private Declare Function StretchBlt Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, _
                                         ByVal nWidth As Long, ByVal nHeight As Long, _
                                         ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, _
                                         ByVal nSrcWidth As Long, ByVal nSrcHeight As Long, _
                                         ByVal dwRop As Long) As Long

'DrawSpace est un PictureBox avec AutoSize à False
Private Sub CmdZoom_Click()
    Dim l As Long
    l = StretchBlt(DrawSpace.hdc, 0, 0, DrawSpace.ScaleWidth + 10, DrawSpace.ScaleHeight + 10, DrawSpace.hdc, 0, 0, DrawSpace.ScaleWidth, DrawSpace.ScaleHeight, ScrCopy)
    DrawSpace.Refresh
    Debug.Print l
End Sub

Private Sub CmdDeZoom_Click()
    Dim l As Long
    l = StretchBlt(DrawSpace.hdc, 0, 0, DrawSpace.ScaleWidth - 10, DrawSpace.ScaleHeight - 10, DrawSpace.hdc, 0, 0, DrawSpace.ScaleWidth, DrawSpace.ScaleHeight, ScrCopy)
    DrawSpace.Refresh
    Debug.Print l
End Sub

Conclusion :


Voilà c'est tout... c'est pas très compliqué...

A voir également

Ajouter un commentaire

Commentaires

Messages postés
8
Date d'inscription
dimanche 10 décembre 2000
Statut
Membre
Dernière intervention
15 décembre 2008

salut, j'espere qu'il y'aura quelqu'un pour me répondre!!
je voudrais utiliser ce code en vb.net 2008.. seulement lors de l'appel de StretchBlt, il ne trouve pas le hdc!!!!!!!!!.. Est ce quelqu'un pourrait m'indiquer la solution ou à a une petite idée ?
Merci.
Messages postés
27
Date d'inscription
dimanche 4 juin 2000
Statut
Membre
Dernière intervention
13 juillet 2007

ah, desolé erreur de ma part, pour info ca bug si vous mettez une picturebox dans une picturebox, le bug c'est que ca rapetisse ou agrandie uniquement une partie de l'image
Messages postés
27
Date d'inscription
dimanche 4 juin 2000
Statut
Membre
Dernière intervention
13 juillet 2007

ne fonctionne pas, ne reduit qu'une partie de l'image
Messages postés
530
Date d'inscription
lundi 3 juin 2002
Statut
Membre
Dernière intervention
13 juin 2004

Très utile !
Plutôt que de ce faire chier à la trouver soa même (j'uis pas contre le boulot, mé si on le fé a votre place...)
Messages postés
81
Date d'inscription
lundi 18 février 2002
Statut
Membre
Dernière intervention
29 août 2003

Exact
Afficher les 7 commentaires

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.