CONTROLE IMAGE ZOOM/DÉZOOM

gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 - 18 févr. 2009 à 11:35
CGSI3 Messages postés 416 Date d'inscription vendredi 22 février 2008 Statut Membre Dernière intervention 7 janvier 2018 - 30 mai 2014 à 15:39
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/49288-controle-image-zoom-dezoom

CGSI3 Messages postés 416 Date d'inscription vendredi 22 février 2008 Statut Membre Dernière intervention 7 janvier 2018 1
30 mai 2014 à 15:39
Bjr gillard

et surtout Merci
Cela m'a permis de comprendre l'event Mousewheel
titidecormo Messages postés 5 Date d'inscription dimanche 14 mars 2010 Statut Membre Dernière intervention 20 mai 2011
20 mai 2011 à 20:55
Je n'arrive pas à l'associé a une pictureBox ...
cs_jbjbjb Messages postés 28 Date d'inscription dimanche 25 janvier 2004 Statut Membre Dernière intervention 12 juin 2010
24 mars 2010 à 12:36
Merci de ta rapidité!
lesdis Messages postés 403 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 7 août 2020
24 mars 2010 à 11:06
Bonjour,

Il te suffit de créer une nouvelle classe vierge, d'y copier/coller le code.
Pour l'utilisation, il faut renseigner la propriété Image du control, pour cela 2 méthodes :

- En mode designer, clique sur la propriété image et choisir une image dans l'explorateur
- En mode code, il faut créer un objet image et renseigner la propriété image du control
cs_jbjbjb Messages postés 28 Date d'inscription dimanche 25 janvier 2004 Statut Membre Dernière intervention 12 juin 2010
24 mars 2010 à 10:30
Bonjour,
Comment utiliser la class? Quelle méthode faut-il appeler?
Merci
lesdis Messages postés 403 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 7 août 2020
9 juin 2009 à 10:34
Normalement cela devrait fonctionner normalement BlueAngel82 :)
blueangel82 Messages postés 2 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 9 juin 2009
9 juin 2009 à 09:39
en fait quand on "pose" le composant et que l'on affecte une image tout marche bien , mais quand on charge l'image via du code, on ne peut plus déplacer l'image et le zoom se base sur le coin sup gauche.
Qqun aurait une idée ?
lesdis Messages postés 403 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 7 août 2020
26 févr. 2009 à 12:38
C'est bizarre, chez moi le zoom se fait suivant l'endroit ou se situe la souris.

Peut-être est ce à cause de ta modification... Je ne pourrais te dire!
cs_Icewall Messages postés 9 Date d'inscription mercredi 9 juillet 2008 Statut Membre Dernière intervention 14 juillet 2010
26 févr. 2009 à 12:05
J’ai apporté quelques modifications à ton code source pour l’adapter à mon PictureBox :

Public Class ImageBox
Inherits PictureBox

Overloads Property Image() As Image

C’est super marrant ton code. J’ai choisi une image avec un type qui regarde un paquet de dollar avec des yeux énormes. Et quand je zoom, on voit la tête qu’il fait en gros plan.

Cependant je me demandais s’il était possible de zoomer sur un autre endroit de l’image. Il semble que par défaut, il zoom sur la partie supérieure gauche.
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
18 févr. 2009 à 14:39
lesdis , je n'en sais pas plus que toi :)

mais le controle PictureBox contient une image initiale
Schwerdtle Messages postés 15 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 2 mars 2009
18 févr. 2009 à 14:25
Et pourquoi pas un zip maintenant, avec une image ?
Merci et bravo.
lesdis Messages postés 403 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 7 août 2020
18 févr. 2009 à 12:10
J'ai corriger avant ta proposition en excluant les calculs liés a l'image tant que celle ci est inexistante.

Je ne saurais dire si cela est plus interessant que de créer une image par defaut dès le début
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
18 févr. 2009 à 12:03
je te propose cette correction
ajouter un bitmap image1 (100 X 100) en ressource
il y a évidement moyen de créer ce bitmap en code , à toi de voir
+ le code :)
Public Sub New()
If _image Is Nothing Then
_image = My.Resources.Image1
End If
'pour eviter le scintillement
Me.DoubleBuffered = True
End Sub
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
18 févr. 2009 à 11:35
exeption non gérée lors de la création du contrôle

si pas d'image =>impossible de faire un resize :-)

Protected Overrides Sub OnClientSizeChanged(ByVal e As System.EventArgs)
MyBase.OnClientSizeChanged(e)
_DestRect = New Rectangle(0, 0, Me.Width, Me.Height)
_rapportX = (_image.Width / Me.Width)
_rapportY = (_image.Height / Me.Height)
End Sub
Rejoignez-nous