|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
25.02.2008, 15:41 | #1 |
Форумчанин Подтвердите свой е-майл
Регистрация: 22.01.2008
Сообщений: 161
|
Вывод рисунка на печать
Добрый день, уважаемые программисты форума!!! Надеюсь поможете решить такую задачу: каким образом можно вывести на печать принтера изображение, находящееся в компоненте GLSceneViewer. Проблема в том, что оно не имеет свойство Canvas!!! Или раз оно его не имеет - это вообще не реально??? Примечание: GLSceneViewer - это компонент библиотеки компонентов GLScene
|
25.02.2008, 15:51 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Выведи на печать его родителя, например GLSceneViewer лежит на форме - прекрасно распечатай форму начиная от координат GLSceneViewer'а и заканчивая его габаритами.
Уловил идею?
I'm learning to live...
|
25.02.2008, 15:53 | #3 |
Форумчанин Подтвердите свой е-майл
Регистрация: 22.01.2008
Сообщений: 161
|
ГЕНИАЛЬНО!!! Ша попробую
Хм, проблемка: я для вывода использую метод: Printer.Canvas.Draw(x: Integer, y: Integer, Graphics: TGraphics), а у Form.Canvas нет такого свойства, какое например есть у компонета Image - Image.Picture.Graphics. Может другой метод надо использовать??? From Stilet: Не стоит делать несколько своих постов подряд, это плохо смотрится, лучше отредактируй свой предидущий пост, так чтоб было понятно. Это предупреждение! Последний раз редактировалось Stilet; 25.02.2008 в 16:27. |
25.02.2008, 16:53 | #4 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
form1.GetFormImage
Только все равно повозиться придется, советую почитать литературу про распечатку, или поискать методы в GLScene Так же на ДелфиВорлд загляни.
I'm learning to live...
|
26.02.2008, 09:26 | #5 |
Форумчанин Подтвердите свой е-майл
Регистрация: 22.01.2008
Сообщений: 161
|
Я пробовал таким способом:
Printer.BeginDoc; Image1.Visible := False; Image1.Picture.Bitmap := Form1.GetFormImage; Printer.Canvas.Draw(x,y,Image1.Pict ure.Graphic); Printer.EndDoc; При таком коде принтер распечатывает все, что находиться на форме(Buttonы, Editы и т.д.), кроме (как вы думаете кого?) - да вы угадали: GLSceneViewerа!!! P.S. черно-белый принтер вообще ничего печатать не хочет! В чем проблема и как ее можно решить??? |
26.02.2008, 10:08 | #6 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Пробуй так, только учти, что окно выбора принтера не должно перекрывать окно GLScene.
Код:
I'm learning to live...
|
26.02.2008, 10:46 | #7 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
|
26.02.2008, 11:16 | #8 |
Форумчанин Подтвердите свой е-майл
Регистрация: 22.01.2008
Сообщений: 161
|
Сделал все как сказал уважаемый Stilet, все скомпилировалось, но вот при работе exeшника вылетает ошибка: EPrinter 'Printing in progress'!! Что я не так мог сделать, в чем ошибка???
|
26.02.2008, 12:18 | #9 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
У тебя принтер походу чем то занят.
Кстати пробуй код Бьена, постом выше.
I'm learning to live...
|
26.02.2008, 12:22 | #10 |
Форумчанин Подтвердите свой е-майл
Регистрация: 22.01.2008
Сообщений: 161
|
Странно, смотрел очередь печати перед запуском своей программы - она была пуста!!! Так что принтер был свободен!
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вывод на печать | sali_s | Microsoft Office Excel | 2 | 04.06.2008 12:05 |
Вывод на печать | -=<[Evklidd]>=- | Общие вопросы Delphi | 6 | 22.02.2008 19:56 |
вывод на печать asembler | udjal | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 0 | 10.11.2007 14:32 |
Вывод на печать StringGrid таблицу | Македонский | Общие вопросы Delphi | 3 | 06.11.2007 01:21 |
Разгупировка рисунка | asale | Microsoft Office Excel | 1 | 23.10.2007 22:30 |