Ich habe eine PictureBox
, die mehrere verschiedene Größen haben kann (abhängig von Bildschirmauflösung, Fensterstatus usw.). Was ich möchte, ist meine image
an die PictureBox
passen, wenn eine der image
Abmessungen (Breite oder Höhe) unter die entsprechende Dimension der PictureBox
geht. Bild an PictureBox anpassen, wenn PictureBox kleiner ist als Bild
Beispiel: Wenn die Breite des image
größer ist als die des PictureBox
, aber die Höhe des image
geringer ist als die des PictureBox
, wird es die image
Breite vergrößert werden, bis es, dass der gleich dem PictureBox
unter Beibehaltung des ursprünglichen Seitenverhältnisses und zentrieren Sie die image
vertikal.
Wenn die PictureBox
größer ist als beide image
Dimensionen, dann wird das Bild einfach zentriert. Dieser Teil habe ich mit PictureBoxSizeMode.AutoSize
und etwas Code gemacht, um die image
basierend auf den Größen image
und PictureBox
zu zentrieren.
picbx.ImageLocation = "Image path here";
picbx.SizeMode = PictureBoxSizeMode.AutoSize;
picbx.Anchor = AnchorStyles.None;
picbx.Location = new Point((picbx.Parent.ClientSize.Width/2) - (picImage.Width/2),
(picbx.Parent.ClientSize.Height/2) - (picImage.Height/2));
picbx.Refresh();
Eine Sache, die ich nicht berücksichtigen muss, ist die Größenänderung im Moment. Das Fenster lässt keine Größenanpassung zu und es muss keine andere Situation außer der anfänglichen Belastung berücksichtigt werden.
Ich habe viele Beiträge gefunden, die in der Nähe zu schlagen scheinen, aber nichts, das vollständig funktioniert. Stretch führt zu einer Verzerrung image
, Auto-Size- nicht resize auf Behältergröße basiert, und Zoom kann gut funktionieren, wenn die image
größer ist als die PictureBox
aber ich habe noch einen Weg zu entdecken Zoom zu verhindern, dass die image
Erhöhung Größe passend für die PictureBox
.
Weil ich es zu einem picbx.ImageLocation
habe die Einrichtung und nicht die picbx.Image
-Eigenschaft, habe ich noch einen Weg, um herauszufinden, die image
Innenseite der PictureBox
auf der Dimension (Breite oder Höhe) basiert, um die Größe, die sein muss die Referenz für die Größenänderung.
Genau das, was ich brauchte. Ich brauchte nur die richtige Kombination. Vielen Dank! – Hank
Gibt es eine Möglichkeit, den Zoom so einzustellen, dass er auf eine bestimmte Dimension und nicht auf den Standard passt? Wie wenn ich den Schalter wechseln wollte, zoomt er auf die Breite statt auf die Höhe, um eine Art Zoom zu imitieren? – Hank
Ich glaube nicht. Es passt sich beiden Dimensionen an und behält dabei die ursprünglichen Bildproportionen bei, die sinnvoll sind. Was meinst du mit einer bestimmten Dimension? Fit eins und schneiden Sie das andere? –