Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2003.07.03;
Скачать: [xml.tar.bz2];

Вниз

Урезать ClipRect канвы принтера   Найти похожие ветки 

 
danja   (2003-04-21 10:47) [0]

Не срабатывает Printer.Canvas.SetClipRect (Printer из QPrinters), точнее Printer.Canvas.ClipRect после этого возвращает новые значения, но рисование происходит и за пределами установленного прямоугольника. К сожалению не могу проверить на разных принтерах, у меня только лазерники HP: 6L, 6P и 2200. Если кто знает, подскажите, пожалуйста, решение или обходной путь. PS Программно не выводить графику в область полей я не могу - очень громоздкий и медленный пересчет.


 
MBo   (2003-04-21 10:51) [1]

попробуй SelectClipRgn или selectClipPath
на 6L работало.


 
danja   (2003-04-22 09:00) [2]

Спасибо, MBo. К сожалению не знаю как преобразовать QPrinters.Printer.Handle (QPaintDeviceH) или QPrinters.Printer.Canvas.Handle (QPainterH) в HDC - прямое :
HDC(QPrinters.Printer.Handle) не срабатывает. Попробовал Printer из Printers у которого Хендл нужного типа, все равно не получилось. Видимо проблема глубже. Попробую подрезать вывод графики или наложить сверху поля.


 
REA   (2003-04-22 10:01) [3]

Насчет Q не в курсе, а так SelectClipRgn и ExtSelectClipRgn рабтают везде где видел. А вот о свойствах (DeviceCaps кажется) принтеры часто врут.


 
danja   (2003-04-22 10:54) [4]

Спасибо, попробую еще раз. Насчет Q сам не совсем в курсе. Вроде как семейство новых модулей (Delphi and Kylix Cross-Platform Visual Component Library), где предоставлено больше возможности по сравнению с предыдущими. Но за неделю работы уже выловил множество глюков. Не знаю на что и грешить, то ли моя D6, то ли Win98, то ли вся связка в купе с железом. Но если GetDeviceCaps врет - даже и не знаю как вывести сложную (векторную) графику (проще говоря, карту) в заданную часть листа с хорошим разрешением и жестко заданным масштабом.


 
REA   (2003-04-22 11:49) [5]

Ну может они не все характеристи врут, а только то что относится к RASTERCAPS, а может и у меня руки кривые.


 
Proton   (2003-04-22 16:33) [6]

> Printer.Canvas.SetClipRect

> HDC(QPrinters.Printer.Handle) не срабатывает.

Printer.Canvas.Handle - это и есть hdc
или я недопонял?


 
danja   (2003-04-23 09:13) [7]

Спасибо огромное всем за проявленый интерес. Для Proton:
Printer.Canvas.Handle - это и есть hdc, но только в модуле Printers, а в QPrinters он QPaintDeviceH.
Для REA: действительно я сам пока не замечал вранья в основных характеристиках, другое дело что иногда размеры листа бумаги трактуются как полный лист, иногда с учетом внутренних полей принтера и т.д.
В любом случае все получилось с SelectClipRgn (еще один поклон MBo).



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

Форум: "Система";
Текущий архив: 2003.07.03;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.018 c
14-7673
killer
2003-06-15 20:23
2003.07.03
Как запретить второй запуск программы?


1-7439
ViJen
2003-06-23 14:07
2003.07.03
Все те же текстовые файлы


11-7370
Alexander
2002-10-24 13:42
2003.07.03
Можно ли TKOLTrayIcon применять в сервисах?


14-7709
aclon
2003-06-12 19:54
2003.07.03
Сколько ангелов уместится на острие иглы?


14-7650
Шишкин Илья
2003-06-10 13:38
2003.07.03
Как сделать, чтобы программа работала под DOS?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский