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

Вниз

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

 
Pavel   (2009-10-29 17:04) [0]

Имеется Image, с которого нужно распечать часть изображения.
Выполняю следующим образом:


 Printer.BeginDoc;
 BMap4:=TBitMap.Create;
 BMap4.Width:=ABS(xp4-xp1);
 BMap4.Height:=ABS(yp1-yp4);
 BitBlt(BMap4.Canvas.Handle, 0, 0, ABS(xp4-xp1), ABS(yp1-yp4), Image1.Canvas.Handle, xp1, yp4, SRCCOPY);
 r:=Rect(236, 354, round(image1.Width * c - 177), round(image1.Height * c));
 Printer.Canvas.StretchDraw(printer.Canvas.ClipRect,BMap4);
 Printer.EndDoc;


В резултате принтер выдает пустую страницу.
В чем может быть проблема?
Заранее блогадарю за ответы.


 
Jeer ©   (2009-10-29 17:53) [1]


> Image1.Canvas.Handle

GetDC(Image1.Canvas.Handle)


 
Омлет ©   (2009-10-29 18:57) [2]

> [1] Jeer ©   (29.10.09 17:53)
> GetDC(Image1.Canvas.Handle)

Нет. Canvas.Handle уже и есть HDC.


 
Омлет ©   (2009-10-29 19:03) [3]

> [0] Pavel   (29.10.09 17:04)

Поставьте перед Printer.EndDoc
 BMap4.SaveToFile("1.bmp);
И посмотрите, действительно ли там есть изображение.
А еще в дебаге стоит проверить printer.Canvas.ClipRect.


 
Pavel   (2009-10-30 11:01) [4]

Проверил, изображение в файл сохрняется, при печати изображения в файл проблем не возникает. Проблема только при выводе изображения на принтер.


 
brother ©   (2009-10-30 11:02) [5]

> при выводе изображения на принтер

принтер хоть какой? может хитрые настройки?


 
Pavel   (2009-10-30 11:16) [6]

hp LaserJet 1010


 
brother ©   (2009-10-30 11:20) [7]

> hp LaserJet 1010

отличный принтер! странно...


 
Anatoly Podgoretsky ©   (2009-10-30 12:31) [8]

> brother  (30.10.2009 11:20:07)  [7]

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


 
Pavel   (2009-10-30 15:46) [9]

А может ли быть что изображение, которое я вывожу на принтер не помещается в буфере принтера?


 
Омлет ©   (2009-10-30 16:58) [10]

> [9] Pavel   (30.10.09 15:46)

Попробуй напечатать небольшое.


 
Jeer ©   (2009-10-30 17:25) [11]


> Омлет ©   (29.10.09 18:57) [2]
>
> > [1] Jeer ©   (29.10.09 17:53)
> > GetDC(Image1.Canvas.Handle)
>
> Нет. Canvas.Handle уже и есть HDC.
>


Верно для TImage. Я глянул для своего случая, где печать TStringGrid и автоматически экстраполировал.
Вот там надо действительно GetDC(..)


 
Омлет.   (2009-10-31 05:39) [12]

> Верно для TImage.

Верно для TCanvas.



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

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

Наверх




Память: 0.49 MB
Время: 0.013 c
1-1229068695
Андрей Пл
2008-12-12 10:58
2009.12.20
DBChart показать данный о точке!


2-1257094427
Don
2009-11-01 19:53
2009.12.20
Как сделать компонент image1 на форме полупрозрачным


2-1256904426
И. Павел
2009-10-30 15:07
2009.12.20
Удаление Objects в TsListBox


2-1257141072
V
2009-11-02 08:51
2009.12.20
TVirtualDrawTree не отображать некоторые узлы дерева


2-1257247329
Qwerg_ntgl
2009-11-03 14:22
2009.12.20
Работа с EkRTF