Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Media";
Текущий архив: 2003.11.20;
Скачать: [xml.tar.bz2];

Вниз

Написать под углом...   Найти похожие ветки 

 
WInAPi Lamer   (2003-06-01 14:55) [0]

Нужно нарисовать на дельфиХ.Канву текст под произвольным углом, млжет кто знает.
Просьба на существующий везде пример

procedure CanvasSetTextAngle(c: TCanvas; d: single);var LogRec: TLOGFONT; ( c.Font.Handle,SizeOf(LogRec) Нужно нарисовать на дельфиХ.Канву текст под произвольным углом, млжет кто знает.
Просьба на существующий везде пример

procedure CanvasSetTextAngle(c: TCanvas; d: single);var LogRec: TLOGFONT; { Информация о шрифте }
begin {Читаем текущюю инф. о шрифте }
GetObject(c.Font.Handle,SizeOf(LogRec) ,Addr(LogRec) ); { Изменяем угол }
LogRec.lfEscapement := round(d*10); { Устанавливаем новые параметры }
c.Font.Handle := CreateFontIndirect(LogRec);
end;
не ссылаться
он у мя не работает :(


 
Плохой человек   (2003-06-01 15:38) [1]

Ссылаюсь на это же:

procedure MyRotateText(CV : TCanvas; sText:String;
X, Y, Angle:Integer); {угол в градусах}
VAR LogFont : TLogFont;
BEGIN
GetObject(CV.Font.Handle, SizeOf(TLogFont), @LogFont);
LogFont.lfEscapement:= Angle*10;
CV.Font.Handle := CreateFontIndirect(LogFont);
CV.TextOut(X,Y,sText);
END;

Или ты не всё написал, или твоя процедурка глюканутая. Вот ещё - ты пахаешь под ДельфиХ, значит, можешь собрать простое изображение, написать на него текст обычными методами канвы и вывести изображение под углом.


 
vladnt   (2003-06-02 08:15) [2]

Canvas.Font.name:="MS Sans Serif";// не работает
а с остальными шрифтами идет.


 
.:Noname:.   (2003-06-11 15:28) [3]

Для того чтобы вывести текст под углом, вытянуть или сжать его нужно воспользоваться структурой 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);
( 0, 100, "It is a text string") Для того чтобы вывести текст под углом, вытянуть или сжать его нужно воспользоваться структурой 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;


 
WInAPi Lamer   (2003-07-23 16:43) [4]

ПАСИБО



Страницы: 1 вся ветка

Форум: "Media";
Текущий архив: 2003.11.20;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.012 c
14-66080
Rauf
2003-10-30 02:00
2003.11.20
Подскожите, проблема c синтаксисjv VBA


1-65818
paul_k
2003-11-06 12:53
2003.11.20
Помогите подключить Crystal Reports к


6-66045
Pacifist
2003-09-23 20:21
2003.11.20
сливание текста в WinSock


1-65820
Вера
2003-11-10 12:07
2003.11.20
Как откинуть часть числа?


1-65852
Evgeniy_K
2003-11-09 18:12
2003.11.20
Цветной TBitmap -> Черно-белый TBitmap





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский