Gibt es eine einfache und praktische Möglichkeit, ein Bild in einer Bildbox mit Bildlaufleisten zu vergrößern?C#: Einfaches und praktisches Zoomen von Bildern mit Bildlaufleisten mit Bildlaufleisten
Im Moment benutze ich eine Bildbox in einem Panel mit automatischer Bildlauf aktiviert. Zum Vergrößern vergrößere ich die Bildbox und verschiebe sie mit den Bildlaufleisten auf dem Panel. Das Problem ist, dass es sich seltsam verhält. Zum Beispiel: Wenn Sie auf weit vergrößern, wird der Rand zwischen dem oberen und linken Formularrand und dem Bild größer und größer.
Das ist die Zoommethode. Ich habe es von here.
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;
}
Jede Hilfe wird geschätzt.
Vielen Dank im Voraus.
Marco
EDIT: Zwei Screenshots eines ungezoomten und gezoomt (16-mal) Bild. Achten Sie auf den Rand zwischen dem oberen Rand des Bildes und dem oberen Rand des Formulars.
Einfache Antwort: Nein! Der aktuelle Weg, den Sie verwenden, ist die beste Wahl. Ich verstehe nicht, was das Problem damit ist, wie Sie in Ihrer Frage beschrieben haben. Ich denke, ein Screenshot wäre in diesem Fall gut. –
@KingKing Ich habe zwei Screenshots hinzugefügt. –
Es ist sehr seltsam, es sei denn, es gibt einen Code, der die 'Top' und' Left' Ihrer 'PictureBox' ändert. Sie sollten den gesamten Code selbst überprüfen, um ihn hier zu veröffentlichen. –