Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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

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.

  • Autor

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

#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

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

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.