Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.12.10;
Скачать: 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 вся ветка

Текущий архив: 2006.12.10;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.03 c
4-1153726398
4EPEII
2006-07-24 11:33
2006.12.10
Сетевые настройки


15-1164105040
TUser
2006-11-21 13:30
2006.12.10
АТА и обратная совместимость


2-1163903847
Мальвина
2006-11-19 05:37
2006.12.10
Работа с микшером винды


4-1154297383
Andrewk88
2006-07-31 02:09
2006.12.10
NetUserGetGroups


15-1163766793
MikePetrichenko
2006-11-17 15:33
2006.12.10
gmail