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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.039 c
11-1105031213
Fanny
2005-01-06 20:06
2005.08.21
Права на запись в реестр


1-1123137944
zorik
2005-08-04 10:45
2005.08.21
Поддерживает ли Win98 экспорт в MS Excel?


6-1112850836
artemon
2005-04-07 09:13
2005.08.21
ServerSocket.Socket.Connections[] ...


14-1122579500
syte_ser78
2005-07-28 23:38
2005.08.21
Вау! Что я откопал!


14-1122486666
Starcom
2005-07-27 21:51
2005.08.21
Почему в Windows 98/Me енто не работает?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский