Вниз
Скачать: 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.031 c
1-1161780797
Антоныч
2006-10-25 16:53
2006.12.10
Удаление картинки из листа Excel


2-1164189213
MmMmMmM
2006-11-22 12:53
2006.12.10
Edit Text + array of Char


15-1164191890
Иксик
2006-11-22 13:38
2006.12.10
"Super Puma" vs Ми-№№


15-1163750262
Alx2
2006-11-17 10:57
2006.12.10
Учебники и задачники по Паскалю.


1-1161899997
Становских Алексей
2006-10-27 01:59
2006.12.10
Доступ к формам из exe в DLL




   Наверх