Главная страница
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.068 c
4-1118310753
Vovaka
2005-06-09 13:52
2005.08.07
Как винда узнает когда время переводить ?


1-1121395233
eXtreme
2005-07-15 06:40
2005.08.07
Обработчик событий компонента NMHTTP


3-1119794920
dbLamer
2005-06-26 18:08
2005.08.07
Копирую я из dbMemo в Блокнот...


14-1121414851
syte_ser78
2005-07-15 12:07
2005.08.07
Задачка для 6 класса.


3-1120213299
reticon
2005-07-01 14:21
2005.08.07
Добавление новой записи - Invalid variant type convertion