Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.004 c
2-1257024312
worldmen
2009-11-01 00:25
2009.12.20
Дата перехода на летнее/зимнее время


15-1255957108
TUser
2009-10-19 16:58
2009.12.20
"ЯБЛОКО" не признает результаты выборов 11 октября


2-1257431830
kyn66
2009-11-05 17:37
2009.12.20
Развернуть свернутую в трэй форму


2-1257106495
den49
2009-11-01 23:14
2009.12.20
Потоки


2-1257151733
kyn66
2009-11-02 11:48
2009.12.20
Периодический опрос во время работы программы.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский