neo336 Geschrieben 8. Oktober 2009 Geschrieben 8. Oktober 2009 Hallo zusammen Ich habe vor kurzem angefangen Grafiken in mfc zu zeichnen und bin auf ein problem beim antialiasing gestossen. CPen Pen; CPen* ptrPen; Pen.CreatePen(PS_SOLID, 16, RGB(0,0,0)); ptrPen=pDC->SelectObject(&Pen); pDC->Ellipse(50,50,350,350); Das ist das was ich im Moment habe. Aber der Kreis sieht so ziemlich verpixelt aus darum wollte ich das ganze mit antialiasing machen Hab schon viel gegoogelt und bei allem das ich versucht habe hat mein Compiler (VS 6.0) einen Fehler ausgegeben. Habt jemand vieleicht noch einen Tipp wie ich das angehen könnte? vielen dank Neo Zitieren
Klotzkopp Geschrieben 8. Oktober 2009 Geschrieben 8. Oktober 2009 Habt jemand vieleicht noch einen Tipp wie ich das angehen könnte?Du könntest beispielsweise erklären, was du schon versuchst hast, und was dabei nicht geklappt hat. Vielleicht etwas detaillierter als "ein Fehler". Zitieren
Bubble Geschrieben 8. Oktober 2009 Geschrieben 8. Oktober 2009 Mit GDI (die MFC-Klasse CDC kapselt GDI-Aufrufe) ist das gewünschte Resultat leider nicht über eine einfache Einstellung erreichbar. Eine Möglichkeit, dass gewünschte Verhalten zu erreichen, wäre z.B. GDI+ zu verwenden. Zitieren
neo336 Geschrieben 9. Oktober 2009 Autor Geschrieben 9. Oktober 2009 Ich hab mich jetzt mal ein bischen über gdi+ / cdc erkundigt und wenn ich das richtig mitbekommen habe ist der header für cdc "afxwin.h" oder? Bei msdn hab ich dan vollgendes über gdi+ gefunden: VOID OnPaint(HDC hdc) { Graphics graphics(hdc); Pen pen(Color(255, 0, 0, 255)); graphics.DrawLine(&pen, 0, 0, 200, 100); } mal ausprobiert und Fehler 'Graphics' undeclared identifer etc.... hmm oke ein include file fehlt hab ich halt noch das hinzugefügt: #include <Gdiplus.h> using namespace Gdiplus; Error: Cannot open include file muss ich halt noch das include file downloaden beim weiter googeln bin ich noch auf ne gute seite gestossen GDI+ bis schritt 4 auf der seite alles gemacht Microsoft sdk installiert header erweitert um: #pragma comment(lib, "gdiplus.lib") den pfad hinzugefügt neuste dll eingefügt wiederieder Kompiliert und Error: Cannot open include file Weis noch jemand wo ich das file auftreiben kann?? Zitieren
Bubble Geschrieben 9. Oktober 2009 Geschrieben 9. Oktober 2009 (bearbeitet) #include <Gdiplus.h> using namespace Gdiplus; Error: Cannot open include file Die Datei muss sich in einem der aktuellen Suchpfade für einzubindende Dateien befinden. Bearbeitet 9. Oktober 2009 von Bubble Zitieren
RipperFox Geschrieben 13. Oktober 2009 Geschrieben 13. Oktober 2009 Hab schon viel gegoogelt.. Zu wenig gegooglt "mfc antialiasing " als Suchbegriffe in Google geschmissen und gleich der erste Treffer hilft: CodeProject: CTGraphics - Anti-Alias C++ Drawing. Free source code and programming help Das wäre an sich schon eine Klasse die genau das machst was du willst. GDI+ kann ich empfehlen wenn man mit TrueType-Schriften arbeiten muss - aber für einen Kreis wäre mir der Aufwand zu hoch.. Grüße Ripper Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.