Problème affichage d'image dans PictureBox

Résolu/Fermé
Anubis55 Messages postés 19 Date d'inscription jeudi 22 juillet 2010 Statut Membre Dernière intervention 1 mars 2013 - 22 déc. 2010 à 20:41
Anubis55 Messages postés 19 Date d'inscription jeudi 22 juillet 2010 Statut Membre Dernière intervention 1 mars 2013 - 23 déc. 2010 à 22:44
Bonjour,

Je suis en train de développer une petite application dans laquelle j'ai une fenêtre avec une PictureBox où je veux afficher une image. Cette dernière est le résultat d'un traitement qui me donne un graphe orienté et je ne connais pas au préalable la taille de l'image. Au cours de mes tests, j'ai constaté que quand l'image et plus grande que la PictureBox, elle est découpée de chaque coté et ne s'affiche pas par conséquent en entier. j'ai essayé de mettre la propriété SizeMode à "CenterImage", toujours le même problème, à "StretchImage", l'image est agrandie sur toute la surface de la PictureBox ce qui n'est pas adapté pour les petites images, et à "Zoom" qui a à peu près le même effet que "StretchImage".
Ma question : n'existe t-il pas une façon de faire pour que quel que soit la taille de l'image, même si elle est grande, on puisse la voir en entier, si c'est possible avoir une barre de défilement qui nous permet de voir l'image.
Je vous remercie d'avance vos suggestions.

A voir également:

6 réponses

Utilisateur anonyme
22 déc. 2010 à 20:47
Salut, c'est en VB.Net? En C#?

Tu peux essayer de mettre le picturebox dans un panel et définir sa taille comme celle du panel. Ensuite tu peux mettre Autoscroll = true dans les propriétés du panel
0
Anubis55 Messages postés 19 Date d'inscription jeudi 22 juillet 2010 Statut Membre Dernière intervention 1 mars 2013
22 déc. 2010 à 23:14
Désolé de ne pas avoir préciser ça, c'est en C#.
J'ai essayé ça aussi mais ça n'a rien donné, l'image est toujours coupée dans le panel. En plus j'ai essayé de redimensionner la PictureBox avec la même taille que l'image, ça marche bien, avant j'avais le coté gauche coupé, mais maintenant l'image commence de la gauche, c'est le reste de l'image à droite et en bas qui est coupé, et les barres de défilement du panel ne s'affichent pas.
0
A part mettre dans ton code l'option de redimensionnement celon l'image choisie, je vois pas.
0
Anubis55 Messages postés 19 Date d'inscription jeudi 22 juillet 2010 Statut Membre Dernière intervention 1 mars 2013
22 déc. 2010 à 23:26
J'ai redimensionner le PictureBox selon la taille de l'image, mais l'image est maintenant coupée à droit et en bas, on ne voit que le début à gauche et en haut
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Anubis55 Messages postés 19 Date d'inscription jeudi 22 juillet 2010 Statut Membre Dernière intervention 1 mars 2013
23 déc. 2010 à 01:02
Je pense avoir trouver, il suffit juste de mettre Anchor du PictureBox (qui est à l'intérieur du Panel) à "Top, Left" et le tour est joué à un détail près : l'image n'est pas centrée dans le Panel elle s'affiche à gauche malgré que la propriété SizeMode du PictureBox est à "CenterImage". Si vous pouvez me suggérer une astuce pour la centrer je suis preneur, sinon je me contenterai de ce résultat.
0
Anubis55 Messages postés 19 Date d'inscription jeudi 22 juillet 2010 Statut Membre Dernière intervention 1 mars 2013
23 déc. 2010 à 22:44
Je viens de trouver la solution:

ImageWindow.picBox.Width = image.Width; //Ici le PictureBox aura la même
ImageWindow.picBox.Height = image.Height; //taille de l'image et donc pas de
ImageWindow.picBox.Image = image; //problème d'affichage partiel de
//l'image
if (ImageWindow.picBox.Width < ImageWindow.panel1.Width)
ImageWindow.picBox.Left = (ImageWindow.panel1.Width - ImageWindow.picBox.Width) / 2;

if (ImageWindow.picBox.Height < ImageWindow.panel1.Height)
ImageWindow.picBox.Top = (ImageWindow.panel1.Height - ImageWindow.picBox.Height ) / 2;

Si la largeur du PictureBox est inférieure à la largeur du Panel, le PictureBox est centré par rapport au Panel à partir de la gauche (Left)

Si la hauteur du PictureBox est inférieure à la hauteur du Panel, le PictureBox est centré par rapport au Panel à partir du haut (Top)

Et voilà, j'espère que ça pourra aider d'autres gens qui coincent avec les PictureBox à l'intérieur des Panels.
0