Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.038 c
14-1086098165
Exciter
2004-06-01 17:56
2004.06.20
Кто знает как работать с FB в С# ???


1-1086253784
Unicode
2004-06-03 13:09
2004.06.20
Текстовой Файл


1-1086627168
Chlavik
2004-06-07 20:52
2004.06.20
Таймер не хочет работать...


14-1086265406
Undert
2004-06-03 16:23
2004.06.20
Вопрос по SSL


14-1086437278
ИМХО
2004-06-05 16:07
2004.06.20
"Молчание ягнят"





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский