GDI+ Anti-Alias
-
Hi @ All.
ich habe nun meine Anwendung in GDI+ erstellt.
Das funktioniert auch gut.Jedoch sind immernoch schlieren bei den Linien da.
Wie kann ich das ändern? Muss man das anders machen, oder bietet die GDI+ überhaupt keine Funktion dafür?
danke.
-
Ich glaube du musst den Smoothing-Mode und den Pixel-Offset-Mode auf HighQuality stellen

Von Graphics natürlich.
-
Ja, ich habe jetzt mal geguckt und SetSmoothingMode() gefunden.
Da wird aber ein enum benutzt, von dem ich keine Ahnung habe.
http://msdn2.microsoft.com/en-us/library/ms534173.aspx
wie kann ich mit SetSmoothingMode und diesem das Anti-Aliasing anstellen?
Danke.
-
das wäre geschafft.. :huh:
jetzt stellt sich mir die Frage, wie ich mit der GDI+ ein Bild aus der Resource, geladen mit LoadBitmap, in das DC blitten kann.
Das hier funzt jeden falls nicht.
gPaint.DrawImage(LoadBitmap(GetModuleHandle(0),MAKEINTRESOURCE(IDB_MAIN)));keine ahnung warum. er will doch ein Bitmap, oder seh ich da waS FALSCHß
danke.
-
Er will eine Gdiplus::Bitmap ...
-
Wie lade ich die denn aus der Resource?
thx.
-
this->push(
)
-
Schau dir mal in der msdn die ganzen Konstruktoren der Bitmap Klasse an

-
habe ich schon.
da habe ich zwölf!!! verschiedene gesehen. da kann ich sogar direkt aus der Resource laden. das habe ich auch versucht.gPaint.DrawImage(new Bitmap((HINSTANCE)GetModuleHandle(0),(WCHAR)MAKEINTRESOURCE(IDB_MAIN)));ja aber warum geht das denn jetzt nicht???
-
sry for doppelpost

aber ich habe es jetzt geschafft:
// draw image first gPaint.DrawImage( new Bitmap(LoadBitmap(GetModuleHandle(0),MAKEINTRESOURCE(IDB_MAIN)),NULL), Point(0, 0));Nun, muss man dort nicht noch hinterher was deinitialisieren/löschen?
danke.
-
Warum schaust du das nicht in der MSDN nach? da steht das alles drin!
-
Das gibt Memoryleaks ...
gPaint.DrawImage( /*!!!*/new /*!!!*/ Bitmap(LoadBitmap(GetModuleHandle(0),MAKEINTRESOURCE(IDB_MAIN)),NULL), Point(0, 0));das new legt was aufm heap an ... nur musste aufm heap dich auch selbst um die Freigabe kümmern.