Ich möchte ein verkleinertes Bild in meiner Picturebox anzeigen. Das Originalbild ist: http://www.directupload.net/file/d/4619/78xat5o5_jpg.htm(C#) Bildgröße ändern
und das Bild in meiner Form: http://www.directupload.net/file/d/4619/lp9nzjgp_png.htm
Meine picturebox Größe 500x500px ist. Meine Methode, die ich für die Größe ändern verwenden:
public static Image ResizePicByWidth(Image sourceImage, double newWidth)
{
double sizeFactor = newWidth/sourceImage.Width;
double newHeigth = sizeFactor * sourceImage.Height;
Bitmap newImage = new Bitmap((int)newWidth, (int)newHeigth);
using (Graphics g = Graphics.FromImage(newImage))
{
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
g.DrawImage(sourceImage, new Rectangle(0, 0, (int)newWidth, (int)newHeigth));
}
return newImage;
}
Ich rufe die Methode mit dem Originalbild und die Breite vom picturebox. Aber wie kann ich das Bild richtig skalieren? Ich möchte, dass mein Formular das ganze Bild zeigt. Und ich weiß, dass dieses Bild Strahlen am Rand haben. Ich hoffe, Sie wissen, was ich meine ..
Legen Sie die Breite und Höhe des Bildes auf den gewünschten Wert fest. – Steve
Sie haben eine neue Breite eingestellt aber Sie sind eigentlich auch neu um die Bildbox an die neue Höhe anzupassen. Oder setzen Sie Sizemode zum Zoomen. In diesem Fall müssen Sie überhaupt keine Größenänderung vornehmen! – TaW
Ihr Englisch ist schlecht, sorry .. Aber der Sizemode ist die Lösung – ExclusivAtom