Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Про печать графики на принтере... [D5, WinXP]


Dimaxx ©   (2003-09-30 00:53:00) 

Братцы! Нужно напечатать динамическую графику на принтере. Вроде все сделал. Все печатается... на доступных мне принтерах. Но! Возник вопрос совместимости с принтерами пользователей:

К примеру, рисую на канве принтера квадрат размером 200х200 точек. При одинаковых dpi квадрат виден квадратом. А как он будет виден при неравных dpi? То есть, при 300х300 выглядит правильно, 600х600 - правильно, а как при 2400х1200 или 1440х720 dpi? У кого-нить есть возможность проверить на практике, а то у меня нет доступа к принтеру с неравными dpi!
Нужно ли учитывать коэффициент для растяжения изображения?
Ответы типа StrechDraw не принимаются - нужно все отрисовывать ручками непосредственно на канве принтера.

Спасибо за внимание!


N169   (2003-10-08 14:50:00) [1]

Да всё народ нашёл: [10]+[3]+[5]! :) Молодец, народ!


Zergey   (2003-10-08 14:34:00) [2]

забей! если ты не нашел, да и народ не нашел, кому оно надо лишний гимор, если ета тварь такая редкость ...


sh_vit   (2003-10-08 08:24:00) [3]

1. получаешь контекст устройства (прнитер, плоттер, экран, ...) на котором рисуешь
2. считываешь разрешение "точек на дюйм" по горизонтали и вертикали
3. освобожаешь контекст устройства
4. пересчитываешь координаты в соответствии с п.2
5. рисуешь


savva   (2003-10-07 10:11:00) [4]

в любом случае советую сделать так - на принтерах, у которых горизонтальное разрешение равно вертикальному, коффициент соотношения равен 1, то есть приходим к той картинке, которая получается и без использования коэффициента соотношения. а на "неправильных" принтерах - со временем выяснится, верный ли ты путь выбрал..


Dimaxx   (2003-10-06 23:32:00) [5]

Проверил бы, конеш! Если бы доступ к такому принтеру был. Я сначала обегал всех знакомых, конторы знакомых, сунулся в доки к их принтерам, а потом от безысходности упал сюда. Где и задал вопрос.


savva   (2003-10-06 10:14:00) [6]

> Dimaxx © (04.10.03 00:22) [6]
я "вроде так должно быть"
понимаешь, ты бы давно уже бы и проверил, если это тебе надо так сильно:)) или я не прав? :-)


Dimaxx   (2003-10-04 00:22:00) [7]

2 savva: Ты на практике проверил или как я, "вроде так должно быть"?


savva   (2003-10-03 11:49:00) [8]

> Dimaxx © (03.10.03 00:02) [4]
а что сложного? если равны - рисуй квадрат, если не равны - рисуй прямоугльник с соотношением сторон равным соотношению разрешений.


Dimaxx   (2003-10-03 00:02:00) [9]

2 savva: Так какие именно шаги? Я об этом и спрашиваю! Разрешение получил (2400х1200), сравнил - неравны. Дальше что? Рисовать квадрат 200х200 точек или прямоугольник 400х200 точек, чтобы на печати получить квадрат?


savva   (2003-10-02 09:27:00) [10]

как вариант можно получить разрешение по Х и по Y для принтера, смотреть их соотношение, если оно не равно 1 - то предпринимать шаги, какие Вы считаете более нужными..


Anatoly Podgoretsky   (2003-10-02 07:37:00) [11]

Нужно


Dimaxx   (2003-10-02 00:37:00) [12]

Чё, никто никогда ничего не печатал? Сранно! Ну хоть кно-нить подскажет?!...


Наверх

Титульная страница Поиск, карта сайта Написать письмо