Содержание материала

  

Code:

{Create a rotated font based on the font object F}

function CreateRotatedFont(F : TFont; Angle : Integer) : hFont;

var

LF: TLogFont;

begin

FillChar(LF, SizeOf(LF), #0);

with LF do

begin

   lfHeight := F.Height;

   lfWidth := 0;

   lfEscapement := Angle*10;

   lfOrientation := 0;

   if fsBold in F.Style then

     lfWeight := FW_BOLD

   else

     lfWeight := FW_NORMAL;

   lfItalic := Byte(fsItalic in F.Style);

   lfUnderline := Byte(fsUnderline in F.Style);

   lfStrikeOut := Byte(fsStrikeOut in F.Style);

   lfCharSet := DEFAULT_CHARSET;

   StrPCopy(lfFaceName, F.name);

   lfQuality := DEFAULT_QUALITY;

   {everything else as default}

   lfOutPrecision := OUT_DEFAULT_PRECIS;

   lfClipPrecision := CLIP_DEFAULT_PRECIS;

   case F.Pitch of

     fpVariable: lfPitchAndFamily := VARIABLE_PITCH;

     fpFixed: lfPitchAndFamily := FIXED_PITCH;

     else

       lfPitchAndFamily := DEFAULT_PITCH;

   end;

end;

Result := CreateFontIndirect(LF);

end;

 

...

 

{create the rotated font}

if FontAngle <> 0 then

Canvas.Font.Handle := CreateRotatedFont(Font, FontAngle);

...

  

Вращаются только векторные шрифты.

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

Не использовать не нормативную лексику.

Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.

ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!


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