Форум: "Основная";
Текущий архив: 2004.06.20;
Скачать: [xml.tar.bz2];
ВнизКак же все-таки вывести на Canvas многострочный текст ПОД УГЛОМ? Найти похожие ветки
← →
BlackTiger © (2004-06-03 12:17) [0]Как же все-таки вывести на Canvas многострочный текст ПОД УГЛОМ? Хотя бы кратным 90.
DrawText
процедура, конечно, классная, но она умеет вываодить только сверху-вниз. Т.е. при печати текста вверх ногами путается порядок строк и получается полный бред. Кое-что нашел в сырцах FastReport/FreeReport, но как-то там уж очень все запущено и непонятно.
Может у кого есть готовое что-то?
← →
Семен Сорокин © (2004-06-03 12:26) [1]имхо только ручной расчет кажой строчки + CreateFontIndirect.
когда-то что-то подобное делал, но не доделал, могу сырцы кинуть если поможет.
← →
Anatoly Podgoretsky © (2004-06-03 12:28) [2]Выведи в битмап и поверни его
← →
Pul (2004-06-03 13:33) [3]>>Anatoly Podgoretsky © (03.06.04 12:28) [2]
>>Выведи в битмап и поверни его
Если так сделать, то при печати будут видны зубцы.
Однако если на печать выводить не нужно, то алгоритм поворота битмапа можно почерпнуть из компонента TGraphicsManager.
>>Семен Сорокин © (03.06.04 12:26) [1]
Если на форме таких компонентов мало, то можно и так, однако если их несколько десятков или сотен, то тормоза при отрисовке будут конкретные. К тому же, поворот при пом. CreateFontIndirect работает только для TrueType шрифтов.
Свой вариант:
Копай в направлении SetWorldTransform.
← →
BlackTiger © (2004-06-03 18:33) [4]>>Anatoly Podgoretsky © (03.06.04 12:28) [2]
>>Выведи в битмап и поверни его
Пройдено и выкинуто. Проблема в том, что вывод, как правило, осуществляется на термо-принтер. Вот тут начинается танец с бубном вокруг поворотов/размеров/координат/масштабирований/тыды. Фигня, одним словом.
Пытался расчитывать длины строк - где-то в чем-то запутался и плюнул на это. Нельзя сказать что плохо пытался. Поросто у меня времени тогда было на всё промерно часа 4. А после того, как заглянул в сырцы FastReport (или FreeReport?), где реализован только поворот на 90 градусов, то понял, почему ничего не плучалось - геморрно это страшно.
А вот с Set/GetWorldTransform попробую побаловаться. Если можно вкратце - как оно работает? Меняет систему координат Canvas"а?
Если да, то как "повернуть мир" на 90 (180, 270) градусов. И где окажется точка (0,0)?
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.06.20;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.031 c