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

Вниз

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

 
Vasia   (2005-07-18 13:09) [0]

Не прошу готового решения, подскажите в какую сторону копать. Есть bitmap, его нужно распепечать с заданными параметрами (положение на листе, поля и т.д.), как определить сколько места он займет (тоесть размер его в пикселях пересчитать в см)....


 
Alexander Panov ©   (2005-07-18 13:11) [1]

Посмотри DrawText (Win32API).


 
Vasia   (2005-07-18 13:21) [2]

DrawText это хорошо, но как быть с картинкой, именно ее нужно печатать....


 
Alexander Panov ©   (2005-07-18 13:22) [3]

Vasia   (18.07.05 13:21) [2]

Сорри, не то сказал, конечно.

А разве ты не знаешь размер TBitmap в пикселях?


 
Alexander Panov ©   (2005-07-18 13:23) [4]

Alexander Panov ©   (18.07.05 13:22) [3]
А разве ты не знаешь размер TBitmap в пикселях?


тьфу. в общем, я молчу.


 
evvcom ©   (2005-07-18 13:30) [5]

Vasia смотри TPrinter, у него есть Canvas и прочее


 
Vasia   (2005-07-18 13:30) [6]

>А разве ты не знаешь размер TBitmap в пикселях?
Размер в пикселях не вопрос:) Я хочу:
1)просто послать этот битмап на выбранный принтер
2)хотелбы знать как пиксели пересчитать в см, что бы знать что я получу на выходе (вообще этот пересчет зависит от конкретного драйвера принтера?) ?....


 
Anatoly Podgoretsky ©   (2005-07-18 13:34) [7]

Размер в пикселях = ширина * высота
Пиксели в см не пересчитываются.


 
Y   (2005-07-18 13:35) [8]

Что нибудь в таком духе (написал навскидку, не проверял):

Printer.BeginDoc;

PixPerInchX := GetDeviceCaps(Printer.Handle, LOGPIXELSX);
PixPerInchY := GetDeviceCaps(Printer.Handle, LOGPIXELSY);

OutRect := Rect(0, 0, Printer.PageWidth, PrinterPageHeight);

OutRect.Left := OutRect.Left + MarginLeft_inInch*PixPerInchX;
OutRect.Right := OutRect.Right - MarginRight_inInch*PixPerInchX;
//Top, Bottom ...

Printer.Canvas.CopyRect(OutRect, bmp.Canvas,
 Rect(0, 0, bmp.Width, bmp.Height));

Printer.EndDoc;


 
evvcom ©   (2005-07-18 13:39) [9]


> вообще этот пересчет зависит от конкретного драйвера принтера?

Зависит от качества печати (разрешения - dpi), чем выше dpi (dot per inch - отсюда можешь и в см перевести), тем с лучшим качеством можешь получить картинку. Но это не значит, что все твои картинки будут лучше выглядеть после повышения dpi.


 
Vasia   (2005-07-18 14:08) [10]

>Но это не значит, что все твои картинки будут лучше выглядеть после повышения dpi.
Обижаешь, начальник:)
Y большое спасибо....



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

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

Наверх




Память: 0.48 MB
Время: 0.046 c
4-1118382956
DARKir
2005-06-10 09:55
2005.08.07
Включение и выключение компьютера


6-1114630971
DimDim
2005-04-27 23:42
2005.08.07
С какого компьютера запущена программа?


3-1119934418
DimonS
2005-06-28 08:53
2005.08.07
Мастера! Поскажите по надежности БД.


4-1118236528
Sicilla
2005-06-08 17:15
2005.08.07
Аналог Taskbar


4-1118140335
Андрей Жук
2005-06-07 14:32
2005.08.07
Функция, обратная wsprintf