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

Вниз

Печать изображений   Найти похожие ветки 

 
X-Disa   (2004-09-28 11:18) [0]

Мастера, подскажите такую вещь. У меня есть битмап, нужно распечатать его на принтере. Рисование на Printer.Canvas не проходит, так как нужны опции печати (dpi, положение на странице, расягивание и пр.) как например в ACDSee. Как именно можно печатать с такими опциями?


 
wicked ©   (2004-09-28 12:47) [1]

через Printer.Canvas...
dpi задается еще перед печатью в диалоге настройки печати...
положение на странице и растягивание - во время печати рисуем в координаты, соответствующие центру листка etc....
маленький совет (из msdn) - печатать не через StretchBlt, а через StretchDIBits (как именно - отдельный вопрос)....
еще один совет - все принтера имеют некие границы слева-сверху, дальше которых они печатать не могут... определяются эти границы через
GetDeviceCaps(Printer.Canvas.Handle, PHYSICALOFFSETX) (слева) и
GetDeviceCaps(Printer.Canvas.Handle, PHYSICALOFFSETY) (сверху)...


 
X-Disa   (2004-09-29 11:10) [2]

Спасибо, а вот еще вопрос. Как напечатать изображение так, чтобы его размер на бумаге был таким же как и на экране? Не обязательно точно, но чтоб похоже...


 
wicked ©   (2004-09-29 11:30) [3]

через dpi экрана и принтера....
"размер на принтере" = "размер на экране" / "dpi экрана" * "dpi принтера".... обычно в таких случаях удобно пользоваться функцией MulDiv:
"размер на принтере" = MulDiv("размер на экране", "dpi принтера", "dpi экрана")

ЗЫ вычисления даны в общем виде.... реально нужно проделать эти действия с шириной и высотой изображения.... :)



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

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

Наверх





Память: 0.45 MB
Время: 0.032 c
3-1101646912
Boris
2004-11-28 16:01
2004.12.26
удаление записи из таблицы


1-1102709098
Lelik
2004-12-10 23:04
2004.12.26
Обращение с QReport


3-1101518726
alo
2004-11-27 04:25
2004.12.26
получить ссылки всех контролов, прицепленных к DataSet у


14-1101973399
gn
2004-12-02 10:43
2004.12.26
Взломать за 240 секунд


14-1102089960
Шишкин Илья
2004-12-03 19:06
2004.12.26
Почта





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