web-dev-qa-db-de.com

image Skalierung der Bildbox

ich habe ein Problem mit der Bildskalierung in C #.

Ich habe eine Bilderbox mit der angegebenen Größe: z. Breite = 800px Höhe = 600px

Ich lade verschiedene Bilder in diese Bilderbox, kleine (400x400) und große (800+ x 600+)

Die Größe meiner Bilder wird geändert, wenn sie nicht in die Box passen. Sie werden jedoch immer auf die maximale Breite und Höhe von PictureBox angepasst. Das Seitenverhältnis ist also zerstört.

Kann jemand helfen, das Problem zu identifizieren/zu beheben?

Klassen:

Form1.cs

ImageHandling.cs (auskommentiert)

ImageUtilities.cs

Beispiele:

Problem 1: Meine Version
enter image description here

vs Ursprüngliche Quelle enter image description here

Problem 2:
Meine Version
enter image description here

vs Ursprüngliche Quelle
enter image description here

Wie ich es will:

Lösung
enter image description here

25
pila
this.PictureBox1.SizeMode = PictureBoxSizeMode.Zoom;

Stellen Sie diese Eigenschaft auf Ihre PictureBox ein, und die Größe des Bildes wird vergrößert oder verkleinert, um der PictureBox zu entsprechen, wobei das Größenverhältnis beibehalten wird.

Weitere Informationen: http://msdn.Microsoft.com/en-us/library/system.windows.forms.picturebox.sizemode.aspx

51
Forte L.