Форум: "Начинающим";
Текущий архив: 2009.12.20;
Скачать: [xml.tar.bz2];
ВнизПечать изображений Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.005 c