|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
29.11.2007, 17:22 | #1 |
Регистрация: 26.11.2007
Сообщений: 3
|
Как вывести изображение из paintbox на принтер, если оно занимает 2 экрана?
Как вывести изображение из paintbox на принтер, если оно занимает 2 экрана вниз? (Экран 19").
Проблема распечатать график, который строю в Paintbox. Высота Paintbox 1300, ширина 873. На форме включен autoscrolling (для просмотра графика). График по размеру умещается на формат А4. Если не трудно, то можно поподробнее КАК... Срочно... |
29.11.2007, 18:49 | #2 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
А вы хоть пробовали печатать? Пэйнтбоксу все равно, сколько экранов занимает картинка. Не поместится на максимально допустимый для принтера лист - будет печатать из кусков. Склеите потом.
А если хотите поместить на лист - используйте ресайз рисунка... |
29.11.2007, 19:10 | #3 |
Delphi/C++/C#
Участник клуба
Регистрация: 29.10.2006
Сообщений: 1,972
|
1300 х 873 - запросто поместиться на А4. Учитываем, что разрешение монитора и принтера существенно разное.
Код:
|
30.11.2007, 10:55 | #4 |
Регистрация: 26.11.2007
Сообщений: 3
|
спасибо за быстрый ответ..но предложенный код ниже я уже пробовал.
Хоть убей, но принтер HP laserjet 1018 гонит чистый лист.... А матричный принтер HP DeskJet 1220C печатает.. (Порошок в принтере есть ) uses printers; ... procedure TForm1.BitBtn1Click(Sender: TObject); var C: real; R: TRect; begin C:=1; Printer.BeginDoc; R := Rect(0, 0, round(paintbox1.Width * C), round(paintbox1.Height * C)); Printer.Canvas.CopyRect(R,paintbox1 .Canvas,paintbox1.Canvas.ClipRect); Printer.EndDoc; end; |
30.11.2007, 19:50 | #5 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Попробуйте на лазернике с коэффициентом 0.5, для пробы.
Возможно, чуток не хватает рабочей ширины. |
03.12.2007, 20:02 | #6 |
Регистрация: 26.11.2007
Сообщений: 3
|
я уже ВСЕ перепробовал..ничего не получилось (
|
03.12.2007, 20:30 | #7 |
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
Инфа о принтере - Printer.zip
Обрати внимание на: - Горизонтальная ширина в пикселах; - Вертикальная высота в пикселах; - Физическая Печатаемая Область x край; - Физическая Печатаемая Область y край; Может быть просто принтер имеет очень большое разрешение или печатаемая область вне доступного диапозона. ::: У меня по молодости лет прикол был. Рисую себе линию на экране толщиной 1 pix, все круто. А для принтера она такая тонкая была, что я ее не увидел. Тоже попарился. Хотя этот мой опыт в данной ситуации не поможет. Мы, я так понял, рисуем картинку. Последний раз редактировалось Sibedir; 03.12.2007 в 21:28. Причина: О, вспомнил |
19.06.2008, 16:36 | #8 | |
Пользователь
Регистрация: 23.11.2006
Сообщений: 42
|
Цитата:
я хочу распечатать изображение на round(image1.Width/Х) страницах, где Х некий лимит (также и по Height) допустим у меня большая "картинка" такая что займёт 6 листов по шрине(х) А4 и 3 по высоте(y), как это реализовать??? использую image. на одном листе использую такой код Код:
|
|
25.06.2008, 14:00 | #9 |
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
Лучше создай новую тему. Здесь речь ни о том. Да и вероятность ответа возрастет.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как вывести bmp изображение на экран?? | lexuss | Паскаль, Turbo Pascal, PascalABC.NET | 12 | 09.04.2011 00:02 |
Как узнать с какого по какой адрес занимает процесс в системе. | kalexi | Win Api | 2 | 30.03.2008 15:48 |
Количество оперативной памяти которое занимает программа | werser | Помощь студентам | 1 | 03.02.2008 02:22 |
если БД занимает ОЗУ? | фЁдОр | БД в Delphi | 9 | 10.01.2008 21:57 |
Как получить изображение, если я знаю его хендл? | AidarBik | Win Api | 4 | 05.11.2007 15:54 |