谁知道如何实现高效的描边?
毕加索的画 2002-09-20 10:17:10 实现的与如下代码相同的效果,
void __fastcall TForm1::PaintBox1Paint(TObject *Sender)
{
const AnsiString OUT_TEXT ="字体描边 - TextOutline";
const int x = 10;
const int y = 10;
TCanvas *pCanvas = PaintBox1->Canvas;
pCanvas->Brush->Style = bsClear;
pCanvas->Font->Color = clBlack;
pCanvas->TextOutA(x - 1, y, OUT_TEXT);
pCanvas->TextOutA(x + 1, y, OUT_TEXT);
pCanvas->TextOutA(x, y - 1, OUT_TEXT);
pCanvas->TextOutA(x, y + 1, OUT_TEXT);
pCanvas->Font->Color = clWhite;
pCanvas->TextOutA(x, y, OUT_TEXT);
}
显然这段代码不够高效,属于投机式的实现,谁有更好、更通用的(比如可用与位图描边)的方法来实现,能讲出原理最好了。