C#hohe Bildzoom -Methode
Es ist nicht einfach, die Bildgröße beim Laufen in C#anzupassen. Obwohl ,
und Eigenschaften hat, passt die Einstellung dieser Attribute die Bildgröße nicht an. System.Drawing.Image
Size
Um die Größe des Bildes anzupassen, müssen Sie die neue Größe verwenden, um ein neues Width
Objekt zu erstellen und das Originalbild an das Objekt zu zeichnen. Sie können den folgenden Code zum Implementieren verwenden: Height
Diese Methode führt jedoch zu einem Rückgang der Bildqualität. Um einen hohen Zoom zu erreichen, ist die Bitmap
-Klasse erforderlich. So bedienen Sie das folgende Beispiel:
Bitmap objBitmap = new Bitmap(objImage, new Size(227, 171));
Diese Funktion bietet auf folgende Weise einen hohen Zoom: Graphics
/// <summary> /// 将图像调整为指定宽度和高度。 /// </summary> /// <param name="image">要调整大小的图像。</param> /// <param name="width">要调整到的宽度。</param> /// <param name="height">要调整到的高度。</param> /// <returns>调整大小后的图像。</returns> public static Bitmap ResizeImage(Image image, int width, int height) { var destRect = new Rectangle(0, 0, width, height); var destImage = new Bitmap(width, height); destImage.SetResolution(image.HorizontalResolution, image.VerticalResolution); using (var graphics = Graphics.FromImage(destImage)) { graphics.CompositingMode = CompositingMode.SourceCopy; graphics.CompositingQuality = CompositingQuality.HighQuality; graphics.InterpolationMode = InterpolationMode.HighQualityBicubic; graphics.SmoothingMode = SmoothingMode.HighQuality; graphics.PixelOffsetMode = PixelOffsetMode.HighQuality; using (var wrapMode = new ImageAttributes()) { wrapMode.SetWrapMode(WrapMode.TileFlipXY); graphics.DrawImage(image, destRect, 0, 0, image.Width, image.Height, GraphicsUnit.Pixel, wrapMode); } } return destImage; }
, um schwere Schatten um die Bildgrenze zu verhindern.
WrapMode
TileFlipXY
Verwenden Sie hoch -Qualität Resolution
und Compositing
Interpolation
Andere Überlegungen umfassen das Längsschnittverhältnis des Bildes (für Leser als Übungen reserviert) und die Falle, bei der das Bild beim Speichern des Bildes das Bild im Bild vergrößert. Smoothing
Das obige ist der detaillierte Inhalt vonWie kann ich Bilder in C# für hohe Qualität ändern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!