Zoom sur une image

Soyez le premier à donner votre avis sur cette source.

Snippet vu 5 293 fois - Téléchargée 44 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
maynoush Messages postés 8 Date d'inscription dimanche 10 décembre 2000 Statut Membre Dernière intervention 15 décembre 2008
15 déc. 2008 à 15:54
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.
cs_cumu Messages postés 27 Date d'inscription dimanche 4 juin 2000 Statut Membre Dernière intervention 13 juillet 2007
12 mai 2003 à 22:10
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
cs_cumu Messages postés 27 Date d'inscription dimanche 4 juin 2000 Statut Membre Dernière intervention 13 juillet 2007
2 mars 2003 à 00:04
ne fonctionne pas, ne reduit qu'une partie de l'image
Alan71 Messages postés 530 Date d'inscription lundi 3 juin 2002 Statut Membre Dernière intervention 13 juin 2004
11 oct. 2002 à 21:11
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...)
cs_Troopers Messages postés 81 Date d'inscription lundi 18 février 2002 Statut Membre Dernière intervention 29 août 2003
11 oct. 2002 à 17:27
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.