Delphi - база знаний

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

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

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


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!

procedureTForm1.FormPaint(Sender: TObject);
  HFnt: HFONT;
  Fontname, Txt: PChar;
  sze: Size;
  c: Integer;
  byt: Byte;
  Fontname := 'Arial';
  txt := 'Mediakueche';
  HFnt := CreateFont(90, 60, 0, 0, FW_BOLD, 0, 0, 0, DEFAULT_CHARSET,
  SelectObject(Canvas.Handle, hfnt);
  SetBkMode(Canvas.Handle, TRANSPARENT);
  GetTextExtentPoint32(Canvas.Handle, txt, length(txt), sze);
  c := 1;
  for c := 0 to 4 do
    TextOut(Canvas.Handle, 5 + c, 10 + c, Txt, length(Txt));
  //  Canvas.pen.Style := psDot;
  SetBkMode(Canvas.Handle, OPAQUE);

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


Взято с

Delphi Knowledge Base

Содержание  Назад  Вперед