Вниз
Скачать: CL | DM;

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

← →
Bmouradov   (2007-04-08 16:48) [0]

Хочу сообщить о найденной мной ошибке (?) при выводе на canvas текста под углом:

Canvas.Font.FontHeight := 20;
Canvas.Font.FontName := "Arial";
Canvas.Brush.BrushStyle := bsClear;

Canvas.Font.FontOrientation := 0;
Canvas.TextOut(100, 100, "один");

Canvas.Font.FontOrientation := -450; // минус 45 градусов
Canvas.TextOut(100, 150, "два");

Canvas.Font.FontOrientation := 0;
Canvas.TextOut(100, 200, "три");

При этом третий текст печатается под углом -45 градусов, хотя не должен.
Однако, если во втором случае написать
Canvas.Font.FontOrientation := 3150; // минус 45 градусов
тогда всё будет правильно. Возможно, отрицательный угол как-то неправильно обрабатывается.


← →
D[u]fa ©   (2007-04-08 18:00) [1]

наверное все что "-" конвертируется в "+"


← →
Bmouradov   (2007-04-08 18:56) [2]

Если бы конвертировался в плюс, то было бы так:
 второй текст под +45, а третий 0.
А получается:
 второй под -45, и третий -45.
А должно быть:
 второй под -45, третий 0.


← →
Vladimir Kladov   (2007-04-08 19:55) [3]

Скорее всего, проблема в этой строчке в SetFontOrientation:

Value := Value mod 3600;

В принципе, можно было бы написать
if Value < 0 then Value := -( (-Value) mod 3600 ) else Value := Value mod 3600;

Попробуйте эту строчку подставить в KOL.pas (строка ~ 15242). Если заработает правильно, так и оставим.


← →
Bmouradov   (2007-04-08 20:14) [4]

Проверил. В PAS_VERSION этой ошибки вообще нет. Выходит, ошибка в KOL_ASM.pas. Также проверил следующее - в режиме PAS_VERSION в Kol.pas заменил SetFontOrientation на версию из KOL_ASM, ошибка вновь появилась. Значит, ошибка находится в KOL_ASM.pas в SetFontOrientation.


← →
Vladimir Kladov   (2007-04-12 19:58) [5]

Причину нашел. Исправление будет скоро.



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.013 c
2-1192529134
тим
2007-10-16 14:05
2007.11.11
ячейка без пунктирной рамки


15-1191667488
Denis_
2007-10-06 14:44
2007.11.11
Можно ли узнать, чем откомпилина прграмма?


10-1139905588
nastya
2006-02-14 11:26
2007.11.11
EIntfCastError


2-1192472919
Elec3C
2007-10-15 22:28
2007.11.11
Проблемка с динамическим массивом


2-1192970417
sdaf
2007-10-21 16:40
2007.11.11
Ошибка I/O error 32




   Наверх