Вообщем я искал как перевернуть текст инашел такую статью(на делфи)
| Цитата | Для того чтобы вывести текст под углом, вытянуть или сжать его нужно воспользоваться структурой LOGFONT. Здесь показаны не все ее возможности, но, на мой взгляд, самые интересные.
procedure TForm1.FormPaint(Sender: TObject); var lf: TLogFont; begin FillChar(lf, SizeOf(lf), 0); with lf do begin // Высота буквы lfHeight := 15;
// Ширина буквы lfWidth := 20;
// Угол наклона в десятых градуса lfEscapement := 100;
// Жирность 0..1000, 0 - по умолчанию lfWeight := 1000;
// Курсив lfItalic := 0;
// Подчеркнут lfUnderline := 1;
// Зачеркнут lfStrikeOut := 1;
// CharSet lfCharSet := RUSSIAN_CharSet;
// Название шрифта StrCopy(lfFaceName, 'Arial'); end; with Form1.Canvas do begin FillRect(ClipRect); Font.Handle := CreateFontIndirect(lf); TextOut(0, 100, 'It is a text string'); end; end;
Автор: Pegas
Взято с Vingrad.ru http://forum.vingrad.ru
|
то же самое пытался перевести на с++
| Цитата | /---------------------------------------------------------------------------
#include <vcl.h> #pragma hdrstop
#include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::FormPaint(TObject *Sender) {
TLogFont lf; // Высота буквы lf.lfHeight = 12; // Ширина буквы lf.lfWidth = 10; // Угол наклона в десятых градуса lf.lfEscapement = 900; // Жирность 0..1000, 0 - по умолчанию lf.lfWeight = 0; // Курсив lf.lfItalic = 0; // Подчеркнут lf.lfUnderline = 0; // Зачеркнут lf.lfStrikeOut = 0;
// Название шрифта lf.lfFaceName[10]= *"GOST type B";
Form1->Canvas->Font->Handle = CreateFontIndirect(&lf); Form1->Canvas->TextOut(200, 300, "It is a text string");
}
|
Проблемы возникли с lf.lfFaceName[10]= *"GOST type B"; (Здесь 10 как я понял это длина строки должна быть)
Почему то шрифт не меняется! Что не так я сделал?
|