Heim >Backend-Entwicklung >C++ >Wie kann man eine hochwertige Bildgröße in C#erreichen?
Bild optimieren Bild Die Größe in C#
Effizient die Größe der Größe in C# -Anwendungen erfordert eine sorgfältige Manipulation der Bildeigenschaften. Während Sie über Size
, Width
und Height
auf Dimensionen zugreifen, ist dies nicht der effektivste Ansatz für die Qualitätsänderung.
überlegene Größengrößentechniken
Für die Skalierung von Bild mit hohem Fidelity-Bild liefert die folgende C# -Funktion eine robuste Lösung:
<code class="language-csharp">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; }</code>
Kritische Faktoren für die Qualitätsänderung
WrapMode.TileFlipXY
: eliminiert Kantenartefakte ("Ghosting") durch Spiegelung des Bildes. SetResolution
: behält den ursprünglichen DPI bei, um eine konsistente Bildschärfe unabhängig von Größenänderungen zu gewährleisten. InterpolationMode.HighQualityBicubic
: Schlussfolgerung
Dieser raffinierte Ansatz garantiert eine qualitativ hochwertige Bildgröße in C#. Das Seitenverhältnis kann bei Bedarf als separates Merkmal hinzugefügt werden.
Das obige ist der detaillierte Inhalt vonWie kann man eine hochwertige Bildgröße in C#erreichen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!