Вверх ↑
Ответов: 16884
Рейтинг: 1239
#1: 2010-06-27 12:40:55 ЛС | профиль | цитата
Tad писал(а):
Как второй вариант.
nesco писал(а):
Гы. А снизу вверх с перевернутыми буквами
Это уже будет ТРЕТИЙ вариант.
Рисуешь картинку с нужными буквами и вперёд

------------ Дoбавленo в 12.40:
И ЧЕТВЕРТЫЙ вариант, применяемый мной в Delphi. Переделать в компонент для HiAsm (или добавить угол поворота в свойства Img_Text - подумать надо) сейчас нет времени.
где-то содрал в инете

#pas
function CreateRotatedFont(F : TFont; Angle : Integer) : hFont;
{-create a rotated font based on the font object F}
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;

procedure TForm1.Button1Click(Sender: TObject);
var
nFont: HFont;
begin
Self.Canvas.Font.Name := 'Arial';
Self.Canvas.Font.Size := 12;
Self.Canvas.Font.Style := [fsbold];

Self.Canvas.TextOut(100, 100, 'Текст для разворота');

nFont := CreateRotatedFont(Self.Canvas.Font, -90);
Self.Canvas.Font.Handle := nFont;
Self.Canvas.TextOut(100, 200, 'Текст для разворота');
end;



карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1vnn.png [1024B] [317]