Bildgrößenanpassung in .Net mit Antialiasing

8

Ich habe einen C # -Code, der Bilder in der Größe verändert, die ich für ziemlich typisch halte:

%Vor%

Das Problem ist, dass die resultierenden Bilder eindeutig mit Alias ​​versehen sind und Änderungen an den InterpolationMode- und SmoothingMode-Eigenschaften scheinen keinen Unterschied zu machen.

Irgendwelche Zeiger?

    
Nick Higgs 02.12.2008, 10:36
quelle

5 Antworten

18

Es dreht sich der Code war einfach falsch. Bei der Größenänderung des Bilds ohne Interpolation im Bitmap-Konstruktor wurde versucht, die Größe dieser Version problemlos auf die Größe zu ändern, die sie bereits hatte. Hier ist der geänderte Code:

%Vor%

Soweit Anti-Aliasing gilt, ist der wichtigste Parameter graph.InterpolationMode .

Danke.

    
Nick Higgs 02.12.2008 11:59
quelle
2

Probieren Sie graphics.DrawImage (bmp, 0, 0, Breite, Höhe); Überprüfen Sie auch diesen MSDN-Artikel bei der Interpolation .

    
Firas Assaad 02.12.2008 10:48
quelle
2

Anti-Aliasing hat nichts mit Rastergrafiken zu tun. Es ist nur für Vektorgrafiken anwendbar. Offensichtlich ist ein Bild eine Rastergrafik.

Sie müssen sich den Interpolationsmodus ansehen.

    
leppie 02.12.2008 11:07
quelle
0

Das Problem könnte ein anderer Ort sein. Ich verwende einen ähnlichen Code, um die Größe von Bildern zu ändern, und es funktioniert in Ordnung, aber der größte Unterschied ist, dass beim Speichern des Bildes Qualität angegeben werden muss (jpeg):

%Vor%     
martinlund 02.12.2008 10:50
quelle
0

Es gibt einen Artikel über CodeProject, der eine verbesserte Antialiasing-Methode beschreibt:

  

Ссылка

    
Dirk Vollmar 02.12.2008 10:48
quelle

Tags und Links