Bildgröße in der Picturebox

G

gramschi

Hy

ich habe ein kleines Problem mit der größe von Bildern.
ich habe eine Picturebox mit der Größe 600x400 und möchte Bilder darin so anzeigen das sie nicht verzerrt werden. Das heißt wenn ich ein bild mit 1200x400
reinlade soll es mit 600x200 angezeigt werden.
ich hab gedacht ich dividiere die höhe des Bildes durch 400 und dividiere durch dieses ergebnis dien Breite und zeige das Bild mit der so ermittelten Größe an.
Dazu fehlen mir 2 Sachen:
Ich weiß nicht wie man die Größe eines Bildes ermittelt.
Ich weiß nicht wie man Festlegt wie groß das Bild in der PictureBox angezeigt wird

Bitte um Hilfe!
MFG Gramschi
 
Hallo.

Die Bildgröße ermitteln ist recht einfach.
Du holst dir ein Image Objekt von der Bilddatei
Code:
Image myImg = Image.FromFile("C:\\image.jpg");
dann kannst du auf Width und Height zugreifen.

Bei der PictureBox gibts aber übrigens die Eigenschaft 'SizeMode'. Dieser weist du einen Wert der PictureBoxSizeMode Enumeration zu.
Ein Wert diesr ist
CenterImage
The image is displayed in the center if the PictureBox is larger than the image. If the image is larger than the PictureBox, the picture is placed in the center of the PictureBox and the outside edges are clipped.


Sollte dein Bild nun größer sein als die PictureBox erzeuge einfach eine neue Instanz des Bildes.
Code:
Bitmap bmp = new Bitmap(myImg, NeueBreite, neue Höhe);

MfG,
Alex
 
Zurück