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

Вниз

Проблемы с печатью   Найти похожие ветки 

 
Trad ©   (2002-07-18 15:15) [0]

Нужно размножить картинку на листе, код такой:
...
bmp := TBitmap.Create;
bmp.LoadFromFile("C:\Портрет товарища.bmp");

with Printer do begin
X1:=PageWidth div 2;
Y1:=PageHeight div 2;
X2:=PageWidth;
Y2:=PageHeight;

BeginDoc;

Canvas.StretchDraw(rect( 0 , 0 , X1, Y1 ), bmp);
Canvas.StretchDraw(rect( X1, 0 , X2, Y1 ), bmp);
Canvas.StretchDraw(rect( 0 , Y1, X1, Y2 ), bmp);
Canvas.StretchDraw(rect( X1, Y1, X2, Y2 ), bmp);

EndDoc;
end;
bmp.Destroy;
...

Проблема в том, что иногда одна, реже две, из четырех картинок не печатается. Причем не напечататься может любая, обычно первая или вторая картинка. Т.е. характер сей проблемы случайный.
В чем м.б. причина? Помогите пожалуйста.


 
Song ©   (2002-07-18 15:22) [1]

Нужно ещё согласовывать с масштабом листа принтера (GetDeviceCaps)


 
Trad ©   (2002-07-18 16:09) [2]

Что нужно согласовывать с масштабом листа??
Ведь размер листа мне известен (PageWidth,PageHeight), а соблюдать пропорции изображения мне не надо. Мне надо только "натянуть" картинку на канву принтера (StretchDraw).
Но иногда этого не происходит. Почему?


 
Trad ©   (2002-07-19 19:10) [3]

Мне помогло следующее:
...
bmp := TBitmap.Create;
bmp.LoadFromFile("C:\Портрет товарища.bmp");

bmp.Canvas.Lock;

with Printer do begin
X1:=PageWidth div 2;
Y1:=PageHeight div 2;
X2:=PageWidth;
Y2:=PageHeight;

BeginDoc;

Canvas.StretchDraw(rect( 0 , 0 , X1, Y1 ), bmp);
Canvas.StretchDraw(rect( X1, 0 , X2, Y1 ), bmp);
Canvas.StretchDraw(rect( 0 , Y1, X1, Y2 ), bmp);
Canvas.StretchDraw(rect( X1, Y1, X2, Y2 ), bmp);

EndDoc;
end;

bmp.Canvas.Unlock;

bmp.Destroy;

...

Но почему я так и не понял. Если кто объяснить буду премного блогадарен.



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

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

Наверх




Память: 0.47 MB
Время: 0.02 c
1-98113
kefirilla
2002-09-20 09:21
2002.09.30
С чем едят ТChart


4-98394
edik
2002-08-11 16:30
2002.09.30
VCL в WinApi


7-98368
Леденцов Дима
2002-07-19 20:16
2002.09.30
Как мне подключать эти формы из DLL


8-98236
Новиков Алексей
2002-05-30 08:44
2002.09.30
Как вставить картинку в gif-формате в Delphi6?


8-98242
Alexey-neo
2002-05-13 21:36
2002.09.30
Как осуществить поворот?