![]() |
Модераторы: Snowy, Alexeis, MetalFan |
![]() ![]() ![]() |
|
Baa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2639 Регистрация: 12.4.2002 Где: Москва Репутация: нет Всего: 12 |
Проблема такая:
никогда не работал с принтером, а тут понадобилось быстро научиться ![]() ![]() Картинку 160 на 160 он печатает в размере меньше 10 мм... А должен больше 400... в чем проблема? з.ы. я бы как всегда сам разобрался, но вот листы и картридж сильно ограниченны. -------------------- "Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande |
|||
|
||||
stab |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1839 Регистрация: 1.1.2003 Репутация: нет Всего: 48 |
Все дело в волшебных dpi (точек на дюйм)
![]() При рисовании на канве используй метод StretchDraw() высота и ширина страницы принтера: TPrinter.PageHeight, TPrinter.PageWidth -------------------- 6, 6, 6 - the number of the beast. |
|||
|
||||
Baa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2639 Регистрация: 12.4.2002 Где: Москва Репутация: нет Всего: 12 |
Хорошо, тогда как посчитать увеличение, чтобы было WYSIWYG(т.е. что вижу на мониторе, также и распечатывается)?
-------------------- "Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande |
|||
|
||||
stab |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1839 Регистрация: 1.1.2003 Репутация: нет Всего: 48 |
это смотря в каком разрешении монитора на картинку смотреть: 640x480 - большая картинка, в 1024x768 - маленькая
![]() (Printer.PageHeight / Form1.Height) * Image1.Height -- это будет высота которую нужно указать в StrechDraw, с шириной так же -------------------- 6, 6, 6 - the number of the beast. |
|||
|
||||
Song |
|
|||
![]() Sysman.ru ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1095 Регистрация: 2.6.2002 Репутация: нет Всего: 4 |
Надо брать логические размеры, а не абсолютные. Чтобы их получить, юзаешь GetDeviceCaps()
-------------------- Прежде чем сказать "Невозможно", подумай, прав ли ты |
|||
|
||||
dr.ZmeY |
|
|||
![]() Политолог ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3892 Регистрация: 26.3.2002 Где: ..::STALINGRAD::. . Репутация: нет Всего: 60 |
Кинь на форму PrinterSetupDialog...
Далее по событию кнопки:
|
|||
|
||||
stab |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1839 Регистрация: 1.1.2003 Репутация: нет Всего: 48 |
To Song: в данном случае логические размеры не помогут, т.к. не известна реальная величина картинки в сантиметрах или дюймах, известны только ее размеры в пикселях.
-------------------- 6, 6, 6 - the number of the beast. |
|||
|
||||
Baa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2639 Регистрация: 12.4.2002 Где: Москва Репутация: нет Всего: 12 |
2 Snick_Y2K: я не чайник, честное слово... до подобного кода я и сам дошел... меня интересует, как распечатать картинку WYSIWYG.
Чтобы приложил листок к монитору, и размер совпал. -------------------- "Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande |
|||
|
||||
stab |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1839 Регистрация: 1.1.2003 Репутация: нет Всего: 48 |
проверить уже не могу -- картридж сдох ![]() -------------------- 6, 6, 6 - the number of the beast. |
|||
|
||||
Baa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2639 Регистрация: 12.4.2002 Где: Москва Репутация: нет Всего: 12 |
2 Song: ну вот я получил кол-во пикселей на инч (их наерно надо было получить), а дальше-то че с ними делать.
-------------------- "Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande |
|||
|
||||
stab |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1839 Регистрация: 1.1.2003 Репутация: нет Всего: 48 |
пикселей на инч на экране обычно 96, можно задать любое число, это же логические еденицы, это ни чего не даст
-------------------- 6, 6, 6 - the number of the beast. |
|||
|
||||
Baa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2639 Регистрация: 12.4.2002 Где: Москва Репутация: нет Всего: 12 |
2 cully, усе, пасиб, работает %)
-------------------- "Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande |
|||
|
||||
Baa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2639 Регистрация: 12.4.2002 Где: Москва Репутация: нет Всего: 12 |
Работает-то работает, токо качество поганое получается из-за стретча :\
-------------------- "Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande |
|||
|
||||
neutrino |
|
|||
![]() Gothic soul ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3041 Регистрация: 25.3.2002 Где: Верхняя Галилея, Кармиэль Репутация: нет Всего: 62 |
Ваа, я тут постил ответ МММ. Поищи, он то самое и делает. Или спроси у самого МММ.
-------------------- The truth comes from within ... Покойся с миром, Vit |
|||
|
||||
neutrino |
|
|||
![]() Gothic soul ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3041 Регистрация: 25.3.2002 Где: Верхняя Галилея, Кармиэль Репутация: нет Всего: 62 |
Посмотрел, оказалось, что мой пример такой же как и тот, что привели. Но, на всякий случай:
procedure TForm1.Button1Click(Sender: TObject); var ScaleX, ScaleY: Integer; R: TRect; begin Printer.BeginDoc; with Printer do try ScaleX := GetDeviceCaps(Handle, logPixelsX) div PixelsPerInch; ScaleY := GetDeviceCaps(Handle, logPixelsY) div PixelsPerInch; R := Rect(0, 0, Image1.Picture.Width*ScaleX, Image1.Picture.Height*ScaleY); Canvas.StretchDraw(R, Image1.Picture.Graphic); finally EndDoc; end; end; -------------------- The truth comes from within ... Покойся с миром, Vit |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Звук, графика и видео" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делится вскрытыми компонентами
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |