Вниз
Скачать: CL | DM;

Как быстро печатать большие картинки?   Найти похожие ветки 

 
Mr. D   (2006-11-19 06:18) [0]

Я печатаю через класс TPrinter, все замечательно и хорошо, кроме одного... У стандартного принтера формата A4 разрешение листа порядка 4000x6000, это получается огромная картинка... Как печатать информацию на всем листе?!?!

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

Что делать в этой ситуации? Как Word так легко и быстро печатает документы? Я бы понял, если там какой текстовый режим был, но word же может печатать текст с картинками, и ничего не тормозит, спулер печати не начинает жрать 50 mb памяти (как у меня)...

Да и куча побочных проблем всплывает, например TBitmap нельзя создать такого огромного разрешения :( Не знаю что и делать...


 
Andy BitOff ©   (2006-11-19 13:19) [1]

Чего-то я не понял? А что канву у Тпринтера отменили? Или я действительно чего-то не понял. Если я все понял правильно, то TPrinter+F1


 
Mr. D   (2006-11-19 17:44) [2]

Есть у него канва, конечно...

Но как это связано с сабжем?


 
Mr. D   (2006-11-19 17:56) [3]

Объясню более подробно.

В частности, стоит задача распечатать страничку HTML так, как она бы отображалась браузером. Соответственно, используется TWebBrowser, страничка сохраняется в картинку, потом печатается. Сейчас сделал, чтобы прямо сам WebBrowser сохранял картинку в канву TPrinter - наиболее быстрый способ (промежуточно сохранить в TBitMap даже и не получится, не хватает памяти), но все равно он занимает много ресурсов.

Чтобы страница хорошо влезла в A4 - то и HTML в браузере должен быть написан под разрешение где-то 4000x6000 - жутко неудобно. Можно, конечно, сделать маленький HTML с нужными пропорциями, потом снять картинку с браузера и ресайзить ее под разрешение принтера (хотя я не знаю как ресайзить), но это опять же наверняка займет много ресурсов, такое огромное разрешение.

И что делать в такой ситуации?


 
Andy BitOff ©   (2006-11-19 18:28) [4]

Насколько мне известно разрешение принтера измеряется в DPI и определяется с помощью GetDeviceCaps, а там параметров достаточно. Покапайся. А уж как ресайзить, это уж извиняй, в "начинающим"


 
Mr. D   (2006-11-19 18:33) [5]

>Насколько мне известно разрешение принтера измеряется в DPI и
>определяется с помощью GetDeviceCaps

зачем оно мне? Я разрешение страницы и так знаю, я его уже написал...

>А уж как ресайзить, это уж извиняй, в "начинающим"

да не в этом дело. Я и так понимаю, что ресайзить до таких разрешений - это очень ресурсоемко...



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.029 c
15-1164004463
pssst
2006-11-20 09:34
2006.12.10
win 2003


15-1164236733
Стример
2006-11-23 02:05
2006.12.10
Скажите. в Линуксе есть dll и IStream ?


2-1163878857
c0rben
2006-11-18 22:40
2006.12.10
Фиксированный вывод


15-1163787017
antonn
2006-11-17 21:10
2006.12.10
Установка компонент в BSD 2006


15-1163942186
Zancik
2006-11-19 16:16
2006.12.10
Горячие клавиши




   Наверх