Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.20;
Скачать: CL | DM;

Вниз

Printer   Найти похожие ветки 

 
murtix   (2004-11-20 23:50) [0]

Привет мастерам
подскажите пожалуйста как осуществить печать многостранично
например кучу изображений (фото) надо именно многостранично


 
murtix   (2004-11-24 00:51) [1]

Лю-юди-и пожалуйста помогите
и еще как програмно настроить параметры получаемые из TPageSetupDialog т.е. выбрать размер бумаги, верт. или гориз. и т.п.


 
programania ©   (2004-11-24 19:19) [2]


Printer.Orientation:=poPortrait;
for i:=1 to 10000 do begin
 Printer.beginDoc;
 foto.loadFromFile("F"+intToStr(i)+".bmp");
 Printer.canvas.draw(0,0,foto);
 Printer.endDoc;
end;

размер бумаги получается из
Printer.PageWidth Printer.PageHeight
и фото масштабируется на него
StretchDraw... чтоб во весь лист.


 
murtix   (2004-11-25 00:14) [3]

Printer.PageWidth Printer.PageHeight свойства только для чтения, а мне необходимо установить их.
скажем 1 фото на один размер
      2 фото на другой
      3 фото на третий и т.д.
... и StretchDraw не надо фотки уже готовы по размерам листов если я смогу установить их :(.


 
programania ©   (2004-11-26 23:45) [4]

>murtix  
>Printer.PageWidth Printer.PageHeight свойства только для чтения,
Естественно. Это максимальный размер куда принтер может печатать
он зависит от настроек принтера: разрешения 300,600...
качества, устанавливаемых в свойствах принтера.
В программе, чтоб не зависеть от принтера,
нужно получать и использовать те что есть для определения
куда принтер напечатает и хватит ли места.
Например, если фото 2500*2000  а разрешение принтера
установлено 600 точек на дюйм, то на A4
без StretchDraw фото на бумаге будет 2500/600*2.5 * 2000/600*2.5
или 10*8 см т.е. примерно треть листа
и если хотите во весь лист нужна StretchDraw,
т.е. надо устанавливать размер изображения
под PageWidth а не наоборот потому что принтер
не может плавно менять свое разрешение.

>фотки уже готовы по размерам листов
я понял фотки в файлах, а листы это бумага
как они могут быть готовы? по пропорциям сторон?


 
murtix   (2004-11-27 00:30) [5]

В общем это не совсем принтер, а фото мини лаб ~1х2х1 м :)
и он печатает с постоянным разрешением 300 dpi
может печатать на бумаге разных размеров 10х15, 15х21, 20х30
и т.д. далее в системе (win2k sp3) он установлен как обычный принтер.
Можно печатать с любой программы которая знает что такое принтер, но в фото индустрии :) приходится иногда печатать сотни фото на разные размеры и даже с одного фото разные размеры и при этом рисовать на них рамочки-финтиклюшки, так что выводить пользователю окно TPageSetupDialog на каждую фотку гемор :(, задача: нужно програмно без вывода диалога установить размеры бумаги ( они строго определены (есть список размеров)) и напечатать причем обязательно как многостраничный документ иначе нет смысла. можно фотографии каждого размера на отдельный документ.


 
programania ©   (2004-11-27 00:56) [6]

>murtix
>нужно програмно без вывода диалога установить размеры бумаги

а как программа сама определит на какой бумаге
печатать и может ли программа заставить этот мини лаб
заправить нужную бумагу?


 
murtix   (2004-11-27 21:33) [7]

Заказ будет висеть пока не будет вставлена нужная бумага.
В общем не заказ зависит от бумаги, а наоборот, это не проблема.


 
programania ©   (2004-11-27 21:49) [8]

>murtix  
>В общем не заказ зависит от бумаги, а наоборот, это не проблема.
Тогда не понятно в чем проблема?
Размер бумаги известен, разрешение принтера тоже.
Расчитайте размер области печати в пикселах:
10/2.5*300 на 15/2.5*300,
масштабируйте фото с обрезкой или добавкой белых краев,
и выведите на printer.canvas все фото как в [2].
Для лучшего качества масштабирования вместо StretchDraw
используйте какую-нибудь графическую библиотеку.


 
murtix   (2004-12-05 00:53) [9]

>programania
>Тогда не понятно в чем проблема?
Проблема в том что бы выбрать формат бумаги из списка
(TPageSetupDialog), а не в том что бы установить размеры.
Например: нельзя напечатать 14х19 нет такого размера.



Страницы: 1 вся ветка

Текущий архив: 2005.03.20;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.045 c
3-1108984897
SeZuka
2005-02-21 14:21
2005.03.20
Использование команды SET (MSSQL) и компонент ADO


9-1092944420
Zer0[np]
2004-08-19 23:40
2005.03.20
А не устраивать ли нам небольшие конкурсы по кодингу? (ч.2)


1-1110101846
leonidus
2005-03-06 12:37
2005.03.20
Контоль диапазонов при компиляции


1-1109945501
andrey__
2005-03-04 17:11
2005.03.20
TDBGrid - свойство FixedCols


1-1109896645
grusty
2005-03-04 03:37
2005.03.20
Как вывести Hint после остановки курсора...