WTL Printing problems
От: betelgeuse  
Дата: 07.10.02 19:31
Оценка:
Здравствуй, Олл.
Возникла проблема при попытке напечатать битмап из WTL. При печати картинка выводится не вся, а только частично.
Для проверки потестировал стандартный пример BmpView из WTL и к своему ужасу обнаружил, что на некоторых картинках у него наблюдается тот же эффект — неполная печать. Короткое исследование показало, что монохромный битмап 600*500 печатается нормально, труколорный битмап 250*200 — тоже, а труколорный или даже 16-цветный битмап 600*500 — уже печатается не весь, а примерно только нижняя треть.
Отладка BmpView показывает, что функция StretchBlt из CMainFrame::PrintPage(UINT nPage, HDC hDC) возвращает ноль, что не есть хорошо согласно MSDN.
Вопросы:
1. Кто виноват? (Возможно, я)
2. Что делать?
Может быть, дело в моем принтере, операционной системе или еще чем-то? Или все же глючит WTL? У меня Win98SE, VC++ 6.0, WTL 3.1 и довольно старый матричный принтер.
Буду благодарен за любые замечания, предложения, а также ссылки на работающие исходники, позволяющие печатать из WTL или WIN API (MFC не предлагать).

С ув.,
Сергей.
Re: WTL Printing problems
От: retalik www.airbandits.com/
Дата: 08.10.02 04:48
Оценка:
Здравствуйте betelgeuse, Вы писали:

B>Буду благодарен за любые замечания, предложения, а также ссылки на работающие исходники, позволяющие печатать из WTL или WIN API (MFC не предлагать).

Возможно, виноваты дрова принтера. Наблюдается ли этот эффект на других OC и с другими принтерами?
Совет: попробуй создать DIB таких размеров и печатать его (через StretchDIBits). Растры в DIB-ах хранятся несколько иначе, чем в DDB.
Успехов,
Виталий.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.