Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.02.2009, 19:26   #1
prizrak1390
-=PriZraK=-
Форумчанин
 
Аватар для prizrak1390
 
Регистрация: 12.12.2007
Сообщений: 399
По умолчанию Txt>Canvas

Доброе время суток
Как можно загрузить из файла текст,в канву например image?
Причем соблюдая все отступы и прочее(а не все в одну строку)
prizrak1390 вне форума Ответить с цитированием
Старый 07.02.2009, 23:50   #2
Саня
Пользователь
 
Регистрация: 08.01.2007
Сообщений: 30
По умолчанию

Надо прочитать файл, а затем отправить это всё в
Код:
DrawText(Image1.Canvas,PChar(Text),-1,Rect,0);
Rect: TRect - я думаю понятно-область вывода.
Я не волшебник, я только учусь!
Саня вне форума Ответить с цитированием
Старый 08.02.2009, 13:55   #3
prizrak1390
-=PriZraK=-
Форумчанин
 
Аватар для prizrak1390
 
Регистрация: 12.12.2007
Сообщений: 399
По умолчанию

Саня,спасибо) попробую)
prizrak1390 вне форума Ответить с цитированием
Старый 08.02.2009, 20:52   #4
prizrak1390
-=PriZraK=-
Форумчанин
 
Аватар для prizrak1390
 
Регистрация: 12.12.2007
Сообщений: 399
По умолчанию

Саня...чет не то.
Есть еще варианты?
prizrak1390 вне форума Ответить с цитированием
Старый 08.02.2009, 21:02   #5
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

А что именно "не то" ?
Не то что хотелось ?

P.S.
например, есть довольно сложный пример вывода на канву текста с применением переносов по правилам русского языка.
Или ,как я уже где-то тут говорил, компонент RichView - в нем просто есть возможность размещения фонового рисунка и богатые возможности по выводу текста ....
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
Kotofff вне форума Ответить с цитированием
Старый 09.02.2009, 00:05   #6
prizrak1390
-=PriZraK=-
Форумчанин
 
Аватар для prizrak1390
 
Регистрация: 12.12.2007
Сообщений: 399
По умолчанию

Kotofff, я уже стока времени ищу варианты...и до сих пор нету
Мне то всего и нужно, что перевести текст из файла в картинку.. а вариант с richview на крайняк.
prizrak1390 вне форума Ответить с цитированием
Старый 09.02.2009, 00:32   #7
Jeni
Форумчанин
 
Регистрация: 31.05.2007
Сообщений: 486
По умолчанию

Цитата:
Сообщение от prizrak1390 Посмотреть сообщение
я уже стока времени ищу варианты...и до сих пор нету
Вот, набросал на скорую руку. Нужно набрать в Мемо любой текст и нажать кнопку - справа (в Имедже) появится тот же текст.
Конечно, это только набросок. Для полного соответствия нужно еще устанавливать для Имиджа шрифт и размеры, а если шрифты у текста разные, то вначале вычислять размер для каждого параграфа и потом соответственно прорисовывать.
Вложения
Тип файла: rar 1.rar (1.5 Кб, 19 просмотров)

Последний раз редактировалось Jeni; 09.02.2009 в 00:36.
Jeni вне форума Ответить с цитированием
Старый 09.02.2009, 18:12   #8
prizrak1390
-=PriZraK=-
Форумчанин
 
Аватар для prizrak1390
 
Регистрация: 12.12.2007
Сообщений: 399
По умолчанию

Jeni,спасибо за исходник,я пока не могу проверить его полностью...убегаю))
Но бегло просмотрев,я понял,что программа делает тоже самое,что и моя. То есть перерисовывает видимую область текста из memo,аналогично этому способу:
Код:
image.Canvas.CopyRect(form1.richedit1.ClientRect,form1.Canvas,form1.richedit1.ClientRect);
воть
prizrak1390 вне форума Ответить с цитированием
Старый 09.02.2009, 18:22   #9
Jeni
Форумчанин
 
Регистрация: 31.05.2007
Сообщений: 486
По умолчанию

Цитата:
Сообщение от prizrak1390 Посмотреть сообщение
я понял,что программа делает тоже самое,что и моя. То есть перерисовывает видимую область текста из memo...
DrawText более универсальна. Например она может центровать текст или заворачивать его по словам. А может вернуть размеры рамки для вывода заданного текста. Это зависит от используемых флагов.
Jeni вне форума Ответить с цитированием
Старый 09.02.2009, 19:26   #10
prizrak1390
-=PriZraK=-
Форумчанин
 
Аватар для prizrak1390
 
Регистрация: 12.12.2007
Сообщений: 399
Смущение ...

Jeni,вообщем спасибо за исходник,я его посмотрел.
Он делает тоже,что и моя программа. То есть к примеру если видимая часть текста не влезла в memo или richedit то весь текст не виден при сохранении картинки.
Вот наглядный пример:
На первом скрине моя прога. Она открывает текстовый файл,грузит текст в richedit,затем копируем в image1 область richedit вот так:
Код:
image.Canvas.CopyRect(form1.richedit1.ClientRect,form1.Canvas,form1.richedit1.ClientRect);
Затем сохраняем картинку.
На втором скрине уже конечный рисунок.
Для маленьких текстов такой вариант подойдет,но напримере видно что большой текст не влез. А у меня почти все такого размера.
Изображения
Тип файла: jpg Безымянный2.JPG (58.8 Кб, 150 просмотров)
Тип файла: jpg Безымянный.JPG (52.5 Кб, 155 просмотров)
prizrak1390 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по Canvas prizrak1390 Общие вопросы Delphi 3 02.02.2009 09:22
работа с CANVAS BuT@JL Помощь студентам 6 30.11.2008 22:18
Canvas.Polygon Sibedir Общие вопросы Delphi 2 18.01.2008 14:36
Canvas Zven Общие вопросы Delphi 9 06.12.2007 10:40
Как прочесть txt файл www.site.ru/info.txt BR17UY Работа с сетью в Delphi 1 16.04.2007 13:01