Problème affichage d'image dans PictureBox
Résolu
Anubis55
Messages postés
19
Date d'inscription
Statut
Membre
Dernière intervention
-
Anubis55 Messages postés 19 Date d'inscription Statut Membre Dernière intervention -
Anubis55 Messages postés 19 Date d'inscription Statut Membre Dernière intervention -
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.
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:
- Problème affichage d'image dans PictureBox
- Image iso - Guide
- Affichage double ecran - Guide
- Problème affichage fenêtre windows 10 - Guide
- Windows 11 affichage classique - Guide
- Acronis true image - Télécharger - Sauvegarde
6 réponses
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
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
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.
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.
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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.
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.
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.