Вниз
Скачать: CL | DM;

Распечатка изображения   Найти похожие ветки 

 
Destroyer   (2002-05-20 12:43) [0]

Необходимо распечатать изображение. Делаю:
var ScaleX, ScaleY: Integer;
R: TRect;
begin
if PrintDialog.Execute then
begin
Printer.BeginDoc;
ScaleX:=Trunc((GetDeviceCaps(Printer.Handle,logPixelsX)*MainBitmap.Width)/PixelsPerInch);
ScaleY:=Trunc((GetDeviceCaps(Printer.Handle,logPixelsY)*MainBitmap.Height)/PixelsPerInch);
R:=Rect(0,0,ScaleX,ScaleY);
Printer.Canvas.StretchDraw(R,MainBitmap);
Printer.EndDoc;
end;
end;
В итоге вылазит пустой лист. Помогите понять, где ошибка, пожалуйста


 
Song ©   (2002-05-20 12:48) [1]

...
ScaleX:=GetDeviceCaps(Printer.Handle,logPixelsX) div PixelsPerInch);
ScaleY:=GetDeviceCaps(Printer.Handle,logPixelsY) div PixelsPerInch);
R:=Rect(0,0,MainBitMap.Width*ScaleX,MainBitMap.Height*ScaleY);
...

... и всё пучком... :)


 
Destroyer   (2002-05-20 12:53) [2]

>Song
Э, нет, не пучком...Тоже пустой лист. А вообще-то учет ширины и высоты картинки уже сделан при определении ScaleX и ScaleY


 
Miwa ©   (2002-05-20 13:21) [3]

StretchDraw - в хелпе написано, что он зависит от типа принтера и вааще не рекомендуется для работы, а вместо него типа юзайте хэндл канваса принтера. Кажись так... Если честно, буквально вчера (ммм.... тоесть один сон назад ;о)) пробовал вывести таким макаром рисунок - так ничего и не вышло. :о(


 
Destroyer   (2002-05-20 13:25) [4]

Но в другой программе этот StretchDraw работает, только что проверил, только там я вывожу на печать содержимое TImage. А тут пробовал и через канвас принтера рисовать - не получается...


 
Song ©   (2002-05-20 14:25) [5]

А какой тип MainBitMap?


 
Destroyer   (2002-05-21 07:15) [6]

MainBitmap: TBitmap;

но это не суть важно...потому что даже если пытаюсь рисовать прямо на канве принтера, все равно не рисует, выдает пустой лист.


 
Destroyer   (2002-05-21 07:34) [7]

Вот еще интересный момент: если перед распечаткой MainBitmap сохранить в файл, потом загрузить его в TImage и выводить на принтер содержимое этого TImage, то печатает нормальное изображение.



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.007 c
14-97427
Дмитрий_Б
2002-04-19 17:46
2002.05.30
Вопрос о разных модулях памяти


3-97186
weak
2002-05-08 11:56
2002.05.30
создание модального окна


14-97414
esu
2002-04-22 16:56
2002.05.30
Задачка мастерам от новичка :)


14-97411
MBo
2002-04-22 09:25
2002.05.30
Новая задачка


1-97231
Alexy
2002-05-20 16:59
2002.05.30
Как зарегить класс??




   Наверх