我需要在Delphi表单上使用大号字体的标签,但发现其曲线仍然有些锯齿。我将其与MSWord中相同大小和字体的标签进行比较,后者要平滑得多。经过研究,我找到了一些代码可以使我的字体更平滑,但它很混乱,我想知道是否有更好的方法?查看VCL源代码,TFont似乎与NONANTIALIASED_QUALITY紧密耦合,这让人感到有些沮丧...
谢谢Bri
procedure TForm1.SetFontSmoothing(AFont: TFont);
var
tagLOGFONT: TLogFont;
begin
GetObject(
AFont.Handle,
SizeOf(TLogFont),
@tagLOGFONT);
tagLOGFONT.lfQuality := ANTIALIASED_QUALITY;
AFont.Handle := CreateFontIndirect(tagLOGFONT);
end;
procedure TForm1.FormCreate(Sender: TObject);
var
I : integer;
begin
For I :=0 to ComponentCount-1 do
If Components[I] is TLabel then
SetFontSmoothing( TLabel( Components[I] ).Font );
end;