Карта сайтаСсылкиКонтакты

3D эффект шрифта

PDF Печать
Статьи

Для придания 3D эффекта Вашему шрифту, можно применить приведенную ниже функцию ExtFont. Вывод осуществляется на Canvas, так что текст можно выводить в любое окно, которое имеет свойство Canvas.

Вывод объемного текста на форму

procedure ExtFont(canvas: TCanvas);
var
  font: HFONT;
  fontName, txt: PChar;
  sSize: Size;
  i: integer;
begin
  fontName := 'Tahoma';
  txt := 'www.delphiru.ru';
  font := CreateFont(
      60, 30, 0, 0, FW_BOLD, 0, 0, 0, DEFAULT_CHARSET,
  OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS,
  PROOF_QUALITY, DEFAULT_PITCH + FF_DONTCARE, fontName);
  SelectObject(Canvas.Handle, font);
  SetBkMode(Canvas.Handle, TRANSPARENT);
  GetTextExtentPoint32(
      Canvas.Handle, txt, length(txt), sSize);
  BeginPath(Canvas.Handle);
  Canvas.Pen.Color:= clGreen; { Цвет текста}
  i:= 1;
  for i:= 0 to 2 do  {глубина эффекта}
  begin
   { позиция текста на форме }
   TextOut(Canvas.Handle, 5 + i, 10 + i,
      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(font);
end;

Пример использования:


procedure TForm1.FormPaint(Sender: TObject);
begin
  ExtFont(Form1.Canvas);
end;

 

Добавить комментарий


Защитный код
Обновить