Dessiner dans une picturebox zoomer

Messages postés
70
Date d'inscription
vendredi 27 décembre 2002
Statut
Membre
Dernière intervention
29 septembre 2018
- - Dernière réponse : vb95
Messages postés
1980
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
8 décembre 2019
- 29 sept. 2018 à 13:39
Bonjour
Sur la picturebox d'une winform je dessine à la souris et
Malgré de nombreuses recherches sur internet je ne trouve pas la solution à mon problème ; je
voudrais pouvoir zoomer ma picturebox et pouvoir dessinner sur celle ci ensuite.
Merci de votre aide du temps consacré.
Afficher la suite 

4 réponses

Messages postés
1980
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
8 décembre 2019
77
Commenter la réponse de vb95
Messages postés
70
Date d'inscription
vendredi 27 décembre 2002
Statut
Membre
Dernière intervention
29 septembre 2018
0
Merci
Bonjour vb95 ;
merci pour ta réponse ainsi que ton lien ;
donc je réussi bien a zoomer mais lorsque je veut dessiner si je suis à un zoom à 1x :
je peut dessiner bien à la position de ma souris ;
mais si mon zoom est différent de 1 :
lorsque je dessine la position de la souris est décaler donc je n'arrive pas a faire un dessin sur la picturebox zoomer
MERCI De l'aide apporté et du temps consacré


--
vb95
Messages postés
1980
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
8 décembre 2019
77 -
Bonsoir !
Je pense qu'il faut multiplier les coordonnées de la position de la souris par le facteur de zoom !
Commenter la réponse de cs_roro69
Messages postés
70
Date d'inscription
vendredi 27 décembre 2002
Statut
Membre
Dernière intervention
29 septembre 2018
0
Merci
Bonjour vb 95
j'ai essayé mais çà ne marche pas
Je te décompose se que j'ai fait:
Je passe par un trackbar avec comme propriété :le min à 1 et max 500 pour zoomer mon picturebox ce qui fait que pour récupérer mon facteur de zoom je passe par le changement de valeur de mon trackbar ainsi :

ZPic1.Zoom = Me.TrackBar1.Value / 100

Ensuite pour dessiner j'ai tenté ce que tu m'as dis en faisant ceci:

Using g As Graphics = Graphics.FromImage(ZPic1.Image)

g.FillEllipse(myBrush, New RectangleF(e.X * (TrackBar1.Value / 100), e.Y * (TrackBar1.Value / 100), 5, 5))
End Using


mais j'ai toujours le décalage lorsque le facteur est différent de 1
M>erci pour tout les conseils et l'aide apporté
--
vb95
Messages postés
1980
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
8 décembre 2019
77 -
Bonjour !
A mon avis tu n'as pas tout à fait compris ce que je voulais dire
Prenons une image quelconque de 100 sur 100 en dimension
Pour dessiner je me positionne au point x = 10 et y = 10
Je zoome d'un facteur 2
si je veux redessiner à partir du même point ce point sera x = 20 et y = 20
il faut se référer en zoomant au point réel de zoom 1 x 1 tout en prenant comme origine le point avec un facteur zoom de 2
Donc avant de zoomer il faut que tu définisses ton point de départ et une fois le zoom effectué que tu affectes le facteur zoom à ce point
Maintenant autre problème : la Picturebox de taille 1 et celle de taille 2 ne sont sûrement pas les mêmes : pas facile à gérer ainsi car je suppose que tu prends une partie de la Picturebox1 que tu zoomes dans une Picturebox 2
Autre chose : tu dessines sur une Picturebox en zoom 1. ensuite tu zoomes et tu dessines sur la Picturebox zoomée . si tu inclus en la remettant à l'échelle 1 la partie zoomée dans la PictureBox d'origine tu vas perdre tous les détails que tu as fait avec le zoom !
Sans un programme pour moi-même essayer je ne vois guère de solution valable !
Au plaisir !
Commenter la réponse de cs_roro69
Messages postés
70
Date d'inscription
vendredi 27 décembre 2002
Statut
Membre
Dernière intervention
29 septembre 2018
0
Merci
Bonjour vb95
est t-il possible que je te fasse passé mon projet pour que tu regardes??
Au plaisir
Merci de ton aide

--
vb95
Messages postés
1980
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
8 décembre 2019
77 -
Bonjour !
Envois moi un message en privé et je te dirai la marche à suivre pour que tu puisses me passer ton projet pour que j'y regarde .
Bonne fin de journée !
cs_roro69
Messages postés
70
Date d'inscription
vendredi 27 décembre 2002
Statut
Membre
Dernière intervention
29 septembre 2018
-
Bonjour désolé pour le retard de réponses ;je t'ai joins en mp
Merci pour le temps consacré
vb95
Messages postés
1980
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
8 décembre 2019
77 > cs_roro69
Messages postés
70
Date d'inscription
vendredi 27 décembre 2002
Statut
Membre
Dernière intervention
29 septembre 2018
-
Bonjour !
Impossible de te joindre en privé car le site signale une erreur et je pense savoir pourquoi !
Rejoins moi en privé en me donnant ton adresse email que je puisse te répondre directement par mail !
Merci et bon week-end !
Commenter la réponse de cs_roro69