Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Media";
Текущий архив: 2005.03.20;
Скачать: [xml.tar.bz2];

Вниз

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 вся ветка

Форум: "Media";
Текущий архив: 2005.03.20;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.066 c
14-1109338118
vecna
2005-02-25 16:28
2005.03.20
Delphi 6, Delphi 7 & Windows XP


3-1108986324
Layner
2005-02-21 14:45
2005.03.20
Как "поймать" сообщения при выполнении запросов к MSSQL


1-1109753126
Быстрый Шу
2005-03-02 11:45
2005.03.20
Вызов функции из DLL: Башня кипит!


1-1109918516
leonidus
2005-03-04 09:41
2005.03.20
Access violation at addres - случаи возникновения


1-1109925653
antoxa
2005-03-04 11:40
2005.03.20
Подскажите, как работать с TClientDataSet?





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