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

Вниз

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

 
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 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.045 c
14-1102278234
Youri1
2004-12-05 23:23
2004.12.26
Проэкт базы даных


1-1103032241
alex145
2004-12-14 16:50
2004.12.26
DUPLICATE RESORCE


3-1101713994
Fiend
2004-11-29 10:39
2004.12.26
не сохраняется DataSource


14-1102182152
ArMellon
2004-12-04 20:42
2004.12.26
У меня стоит Apache , как виртуальным хостам


1-1102942988
Dimich1978
2004-12-13 16:03
2004.12.26
Как отловить события создания или удаления файлов люб. прог.