Weiße Ränder von Schriften wegbekommen
-
hi,
ich habe ein programm, was bisher so aussieht:
http://www.michaelholzhauser.de/processor.JPG
nur stören mich jetzt die weißen ränder bei den Texten. Wie bekommen ich die denn Weg, sodass einfach nur eine schwarze Schrift zu sehen ist?
MfG, Herr-Vorragend
-
Ein wenig mehr Informationen währen echt nicht schlecht, da meine Glaskugel gerade kaputt ist. Ist es ein 2d oder 3d Programm (Benutzt du z.B OpenGL oder sowas)? Ist die Schrift aus ner Textur geladen oder wie hast du sie erstellt?
Quellcode der entscheidenden Stellen könnten auch helfen etc. ...
-
Ich schätze mal, dass das nen ganz normales Fenster ist, wo nen Bitmap im Hintergrund sitzt und per Textout etwas draufgeschrieben wurde.
Hast Du schonmal probiert vor dem Textout den Hintergrund-Modus transparent zu machen?
SetBkMode(hdc, TRANSPARENT);
-
@mantiz, müsste dann nicht ein weißes Rechteck zu sehen sein?
@Herr-Vorragend, zeig mal bitte den Code wo du den Text zeichnest.
-
ist ne ganz normale Textausgabe, das Fenster ist durchsichtig und liegt auf dem Desktop:
case WM_CREATE: ... ... memset(&lf, 0, sizeof(LOGFONT)); lstrcpy(lf.lfFaceName, "Tahoma"); //lf.lfWeight = 600; lf.lfHeight = 22; hBigFont = CreateFontIndirect(&lf); lf.lfHeight = 14; hSmallFont = CreateFontIndirect(&lf); break; ... ... case WM_PAINT: hdc = BeginPaint(hWnd, &ps); SetBkMode(hdc, TRANSPARENT); SelectObject(hdc, hBigFont); TextOut(hdc, 20, 10, szBuffer, wsprintf(szBuffer, "CPU-Auslastung")); ... ...
-
mit lfQuality von http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/fontext_1wmq.asp
ein bisschen rumgespielt. ich denk ist ne antalasing geschichte
-
hm, also ich hab jetzt mal ziemlich viele werte von 0 bis 100 ausprobiert und ich seh keinen unterschied...
-
Ich würde jetzt mal auf folgendes tippen: Windows berechnet Antialias aus dem Text und der Hintergrundfarbe deines Fensters (auch wenn das Fenster transparent ist). Wenn die Hintergrundfarbe blau wäre, würde das ganze warscheinlich nicht mehr so schlimm aussehen.
Als Lösungen fallen mir im Moment nur zwei Dinge ein:
(1) Wallpaper auf dein Fenster zeichnen und anschließend den Text darüber malen.
(2) Direkt auf den DC des Desktops zeichnen.PS: kannst ja mal SetBkColor ausprobieren
-
(2) Direkt auf den DC des Desktops zeichnen.
^diese Lösung würde ich auch bevorzugen