Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi ClearType verwenden (https://www.delphipraxis.net/66610-cleartype-verwenden.html)

Sascha L 1. Apr 2006 10:51


ClearType verwenden
 
Hi,

wie kann ich ClearType für meinen Text (über Canvas) nutzen?

Der Code, der hier im Forum steht, funktioniert nicht. Wahrscheinlich, weil der wohl nur geht, wenn ClearType global aktiviert ist. Ich will aber ClearType auch nutzen, wenn es allgemein für Windows ausgeschaltet ist.

Gruß
Sascha

Sascha L 3. Apr 2006 09:50

Re: ClearType verwenden
 
huhu :hi:

ChrisE 3. Apr 2006 11:45

Re: ClearType verwenden
 
Hallo,

ich denke du meinst, dass man einen Text auf einer Canvas ausgibt ohne das man den Hintergrund mit einer Farbe übermahlt. Das geht relativ einfach:
Delphi-Quellcode:
var
  OldBrushStyle: TBrushStyle;
//.. bevor du dein Textout machst:
with Canvas do begin
  OldBrushStyle := Brush.Style;
  Brush.Style := bsClear;
  // Jetzt Textout und sowas
  Brush.Style := OldBrushStyle;
end;
Ich hoffe, dass ist dass was du gemeint hast.

Gruß Chris

ChrisE 3. Apr 2006 11:48

Re: ClearType verwenden
 
Oh sorry, da war ich wohl etwas zu schnell mit meiner Antwort. Das war wohl eher nicht das was du wolltest.

Sorry

Sascha L 3. Apr 2006 12:22

Re: ClearType verwenden
 
Jepp, noch nicht mal im Ansatz :D Aber macht nichts.

ClearType ist eine Technologie von Microsoft die seit XP mit an Board ist. Damit kann man das Schriftbild für TFT-Monitore verbessern.

z.B. der IE7 hat ClearType standardmäßig aktiviert.

supermuckl 3. Apr 2006 15:16

Re: ClearType verwenden
 
und der code von mir in der codelib geht echt nicht?
hast du schonmal in der msdn geschaut ?

H4ndy 3. Apr 2006 15:25

Re: ClearType verwenden
 
Versuch anstatt "DEFAULT_QUALITY" im Quelltext mal "CLEARTYPE_QUALITY" zu benutzen.
(Konnte es jetzt nicht testen, siehe aber MSDN Link von oben:
"The fdwQuality parameter in CreateFont and the lfQuality member of LOGFONT accept the CLEARTYPE_QUALITY flag.")

Sascha L 3. Apr 2006 16:37

Re: ClearType verwenden
 
Hm, CLEARTYPE_QUALITY gibt es nicht.

@supermuckl: wird mir wohl nichts anderes übrig bleiben, als bei msdn mal zu gucken, das Problem wird wohl aber die Umsetzung in Delphi sein. Darum hatte ich gehofft, dass da jmd. schon nen Code fertig hat, weil er sich vllt. damit auch schon mal beschäftigt hat.

Dein Code funktioniert bei mir definitiv nicht. Aber wie ich schon sagte, kann es sein, dass der vllt. nur funktioniert, wenn man allgemein bei Windows ClearType aktiviert hat?! Hab es aber selber noch nicht getestet. Ich will aber - wie gesagt - ClearType vor allem dann verwenden, wenn es global in Windows deaktiviert ist.

H4ndy 3. Apr 2006 17:07

Re: ClearType verwenden
 
Im Windows SDK von Delphi '05 PE gibt es Die Konstate CLEARTYPE_QUALITY.
Ich hab mich mal etwas im Web umgeschaut und folgende Übersicht gefunden:
Code:
int ANTIALIASED_QUALITY   4
int CLEARTYPE_QUALITY     5
int DEFAULT_QUALITY       0
int DRAFT_QUALITY         1
int NONANTIALIASED_QUALITY 4
int PROOF_QUALITY         2
Wäre super, wenn jemand testen könnte, ob die Konstanten stimmen =)

Sascha L 3. Apr 2006 17:12

Re: ClearType verwenden
 
Also in der Windows.pas von Delphi2006 beschränkt sich das auf folgendes:

Delphi-Quellcode:
  {$EXTERNALSYM DEFAULT_QUALITY}
  DEFAULT_QUALITY = 0;
  {$EXTERNALSYM DRAFT_QUALITY}
  DRAFT_QUALITY = 1;
  {$EXTERNALSYM PROOF_QUALITY}
  PROOF_QUALITY = 2;
  {$EXTERNALSYM NONANTIALIASED_QUALITY}
  NONANTIALIASED_QUALITY = 3;
  {$EXTERNALSYM ANTIALIASED_QUALITY}
  ANTIALIASED_QUALITY = 4;
Die Frage ist nun, ob es einfach damit getan wäre, Nr. 5 zu ergänzen? :D

Edit: anscheinend nicht :(


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:30 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz