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

Вниз

Не работает печать   Найти похожие ветки 

 
Weare   (2002-10-24 17:43) [0]

Уважаемые мастера, подскажите пожалуйста как можно при помощи стандартного объекта TPrinter вывести на печать рисунок в формате
TJpegImage в определленную область(Rect).
Вот два аналогичных кода программы, где печать рисунка в формате TBitMap проходит хорошо, а в формате TJpegImage выходит просто белый лист, причем ничего не ругается:

Bmp:= TBitMap.Create;
Bmp.LoadFromFile("konvert.jpg");

Printer.BeginDoc;
Printer.Canvas.StretchDraw(Rect(0,0,Printer.PageWidth,Printer.PageHeight),Bmp);
Printer.EndDoc;


Jpg:= TJpegImage.Create;
Jpg.LoadFromFile("konvert.jpg");

Printer.BeginDoc;
Printer.Canvas.StretchDraw(Rect(0,0,Printer.PageWidth,Printer.PageHeight),Jpg);
Printer.EndDoc;

Может это происходит из-за того, что у TJpegImage нету св-ва Canvas, но я же вывожу не на конву TJpegImage"а, а на конву принтера. Что подскажите, ведь мне для ускорения вывода на печать необходимо использовать TJpegImage, т.к файлы этого формата меньше по размеру?


 
drpass   (2002-10-24 18:03) [1]

Ну сделай так:
Bmp:= TBitMap.Create;
Jpg:= TJpegImage.Create;
Jpg.LoadFromFile("konvert.jpg");
Bmp.Assign(jpg);
Printer.BeginDoc;
Printer.Canvas.StretchDraw(Rect(0,0,Printer.PageWidth,Printer.PageHeight),bmp);
Printer.EndDoc;
Но "ускорение вывода на печать" с помощью формата JPEG - это полнейший бред


 
Weare   (2002-10-24 18:11) [2]


> drpass ©
> Но "ускорение вывода на печать" с помощью формата JPEG -
> это полнейший бред

Почему? Ведь файл формата bmp занимает у меня 31Mb, а уже отконвертированный в jpg - 1.6Mb. Собствено поэтому и принтер долго "думает" перед отправкой на печать, разве не так или я что-то недопонимаю в процедуре вывода на печать.
Если не так объясни, плиз.


 
777   (2002-10-24 18:24) [3]


> файл формата bmp занимает у меня 31Mb, а уже отконвертированный
> в jpg - 1.6Mb

jpg - грубо говоря сжатый bmp, только и всего, а
на принтер при печати bmp и при печати jpg выводится
одинаковое количество точек (масштаб -то изображения один),
к тому же при работе с jpg тратится время на распаковку.



 
Weare   (2002-10-25 10:21) [4]

Спасибо за ответы, но может кто поскажет как же мне тогда увеличить скорость вывода на печать. Я сначала вывожу этот графический рисунок, а затем идет много (до 50) операторов Printer.Canvas.TextOut.


Printer.BeginDoc;
Printer.Canvas.StretchDraw(Rect(-60,-105,4847,6882),Bmp);
Printer.Canvas.TextOut(3600,665,Edit1.Text);
Printer.Canvas.TextOut(685,1000,Edit2.Text);
Printer.Canvas.TextOut(4272,995,Edit3.Text);
Printer.Canvas.TextOut(1805,1320,Edit4.Text); Printer.Canvas.TextOut(2565,1500,Edit5.Text);
...
Printer.EndDoc;

Может есть какой-то другой способ выводить все это на печать?



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

Форум: "Основная";
Текущий архив: 2002.11.04;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.008 c
3-11056
Gorynych
2002-10-15 01:26
2002.11.04
I/O error: Операция выполнена успешно


4-11547
Zion
2002-09-21 12:52
2002.11.04
Вопрос про IDispatch


1-11194
slgeo
2002-10-24 14:59
2002.11.04
Глюки в IDE


1-11240
Иван
2002-10-25 10:25
2002.11.04
Конвертирование в дробь


3-11114
jen_bond
2002-10-12 14:16
2002.11.04
Узнать разницу между датами





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