C#-Bildskalierung: So minimieren Sie Qualitätsverluste
Bildskalierung führt zwangsläufig zu einem gewissen Qualitätsverlust. Einige Techniken können diese Verschlechterung jedoch erheblich abmildern.
Die Herausforderung von Zoom
Wenn die Größe eines Bildes geändert wird, werden seine Pixel entweder kleiner (verkleinert) oder vergrößert (vergrößert). Beim Herauszoomen werden Pixel entfernt, was zu weniger Details führt. Beim Heranzoomen hingegen werden Pixel interpoliert, was möglicherweise zu Artefakten führt.
Qualitätsverlust minimieren
Obwohl es nicht möglich ist, Qualitätsverluste vollständig zu beseitigen, ist in C# der folgende weithin empfohlene Ansatz:
<code class="language-csharp">Bitmap newImage = new Bitmap(newWidth, newHeight); using (Graphics gr = Graphics.FromImage(newImage)) { gr.SmoothingMode = SmoothingMode.HighQuality; gr.InterpolationMode = InterpolationMode.HighQualityBicubic; gr.PixelOffsetMode = PixelOffsetMode.HighQuality; gr.DrawImage(srcImage, new Rectangle(0, 0, newWidth, newHeight)); }</code>
Anleitung:
Das obige ist der detaillierte Inhalt vonWie kann ich den Verlust der Bildqualität minimieren, wenn ich die Größe von Bildern in C# ändere?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!