Вниз
Скачать: 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.027 c
2-1164478031
dreamse
2006-11-25 21:07
2006.12.10
Приветствую. Возникла проблема при создании компонента


11-1140213317
rainstuff
2006-02-18 00:55
2006.12.10
Скачивание URL из инета с использованием KOL


15-1164214148
Andy BitOff
2006-11-22 19:49
2006.12.10
Не сочтите зп рекламу, но ...


1-1161929527
Shlomo
2006-10-27 10:12
2006.12.10
Точка входа в проц-у ConvertToGlobalHandle не найден в kernel32


10-1126181335
WhiteMag
2005-09-08 16:08
2006.12.10
Уничтожение сервера приложений




   Наверх