Existe-t-il un moyen simple et fonctionnel de zoomer une image dans une boîte à images, y compris des barres de défilement?
Pour le moment, j'utilise une boîte d'image dans un panneau avec le défilement automatique activé. Pour zoomer, j'agrandis la boîte à images et je la déplace avec les barres de défilement du panneau. Le problème est qu'il se comporte de façon étrange. Par exemple: si vous zoomez trop loin, la marge entre la bordure supérieure et gauche du formulaire et l'image s'agrandit de plus en plus.
Voilà la méthode de zoom. Je l'ai obtenu de ici .
private void ZoomInOut(bool zoom)
{
//Zoom ratio by which the images will be zoomed by default
int zoomRatio = 10;
//Set the zoomed width and height
int widthZoom = pictureBox_viewer.Width * zoomRatio / 100;
int heightZoom = pictureBox_viewer.Height * zoomRatio / 100;
//zoom = true --> zoom in
//zoom = false --> zoom out
if (!zoom)
{
widthZoom *= -1;
heightZoom *= -1;
}
//Add the width and height to the picture box dimensions
pictureBox_viewer.Width += widthZoom;
pictureBox_viewer.Height += heightZoom;
}
Toute aide est appréciée.
Merci d'avance.
Marco
EDIT: Deux captures d'écran d'une image non zoomée et d'une image zoomée (16 fois). Faites attention à la marge entre le bord supérieur de l'image et le bord supérieur du formulaire.
Je pense qu'il vaut mieux zoomer (redimensionner) l'image et non la zone d'image. Jetez un oeil à cet article - http://www.codeproject.com/Articles/21097/PictureBox-Zoom
Et