DELPHI FAQ: Вывод текста с эффектами


Вывод текста с эффектами
Previous  Home  Next




How to make TextOut with 3d-Effect or hollow Text

Answer:

Make a new Application and take this Proc bellow for the OnPaint-Event of the Form. The TextOutput will look like written with a kaligraf.If You replace the for loop in the proc with a single call of textout you can use this code to write "hollow" text. Try it with different Pen-Styles too!

procedure
 TForm1.FormPaint(Sender: TObject);
var

  HFnt: HFONT;
  Fontname, Txt: PChar;
  sze: Size;
  c: Integer;
  byt: Byte;
begin

  Fontname := 'Arial'
;
  txt := 'Mediakueche'
;
  HFnt := CreateFont(90
6000, FW_BOLD, 000DEFAULT_CHARSET,
    OUT
_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS,
    PROOF_QUALITY, DEFAULT
_PITCH + FF_DONTCARE, Fontname);
  SelectObject(Canvas.Handle, hfnt);
  SetBkMode(Canvas.Handle, TRANSPARENT);
  GetTextExtentPoint32(Canvas.Handle, txt, length(txt), sze);
  BeginPath(Canvas.Handle);
  c := 1
;
  for
 c := 0 to 4 do
  begin

    TextOut(Canvas.Handle, 5
 + c, 10 + c, Txt, length(Txt));
  end
;
  EndPath(Canvas.Handle);
  //  Canvas.pen.Style := psDot;

  StrokePath(Canvas.Handle);
  SetBkMode(Canvas.Handle, OPAQUE);

  DeleteObject(SelectObject(Canvas.Handle, GetStockObject(WHITE_BRUSH)));
  SelectObject(Canvas.Handle, GetStockObject(SYSTEM_FONT));
  DeleteObject(HFnt);

end
;

Взято с
Delphi Knowledge Base
http://www.baltsoft.com/







DELPHI FAQ




EOMY TOP 100      Рейтинг@Mail.ru      Rambler's Top100