Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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

Geschrieben
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".
Geschrieben

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.

Geschrieben

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??

Geschrieben (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 von Bubble
Geschrieben

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

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...