Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.08.21;
Скачать: CL | DM;

Вниз

Как перевести соотношение точек объекта к точкам принтера?   Найти похожие ветки 

 
Aleksandr.   (2005-08-03 12:41) [0]

Мой объект (потомок от TCustomListBox) рисует свои итемы простыми методами Canvas - вычислил Rect для рисунка, MoveTo, LineTo, Ellipse и т.д. в этом Rect. Раньше на печать выводилась только текстовая инфа. А теперь поступило распоряжение на печать выводить такое же графическое изображение, как на экране. Я сначала сгоряча сделал по-простому - при вызове метода печати подменяю канву на Printer.Canvas - и результат был впечатляющим: все тексты выложились нормально, а вся графика уместилась в маленьком уголке слева. Теперь не могу сообразить, как вычислить соотношение, на сколько увеличивать все отрезки и радиусы, чтобы изображение на принтере рисовалась адекватно...


 
Mx ©   (2005-08-03 13:24) [1]

GetDeviceCaps(Canvas.Handle, LOGPIXELSX) - количество пикселей в дюйме по-горизонтали
GetDeviceCaps(Canvas.Handle, LOGPIXELSY) - количество пикселей в дюйме по-вертикали

Вычисли для ListBox.Canvas.Handle и для Printer.Canvas.Handle, а потом возьми соотношение.


 
Aleksandr.   (2005-08-03 14:38) [2]

Упс. Не был бы таким тупым, сам бы догадался... Спасибо!


 
Aleksandr.   (2005-08-03 16:12) [3]

Может, тогда и подскажите, можно ли как-то узнать, цветной принтер или ч/б, чтобы цвета нормально привести?


 
Джо ©   (2005-08-03 16:37) [4]

Для моего монохромного лазерного след. код дает 8:
 Val := GetDeviceCaps(Printer.Handle,BITSPIXEL);
 ShowMessageFmt ("%d",[Val]);
Для драйвера Epson FX-80 (матричный): 1.
Для цветных принтеров дает 24. Однако виртуальный Pdf producer выдает тоже 1. Странно.
Покопай в этом направлении.


 
Aleksandr.   (2005-08-03 17:02) [5]

Джо © :
Спасибо, покопаю...



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

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

Наверх




Память: 0.47 MB
Время: 0.046 c
3-1121072288
finn
2005-07-11 12:58
2005.08.21
Закрыть доступ к строке,а не к таблице (BDE)


1-1122555152
Zikmu
2005-07-28 16:52
2005.08.21
PAnsiChar и String


14-1122788688
geidarka
2005-07-31 09:44
2005.08.21
вопрос по combobox (option) и MySQL


14-1122458902
ЯВ
2005-07-27 14:08
2005.08.21
Тоже о ГАИ, но по другому вопросу....


14-1122543830
Mx
2005-07-28 13:43
2005.08.21
О кроссплатформенности в Delphi 2005