Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2002.09.30;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.44 MB
Время: 0.01 c
3-97939
Ifrit
2002-09-06 13:10
2002.09.30
Народ!!!! Помогите пожалуйста!!! Есть проблема: как из RichMemo з


4-98405
wal
2002-08-14 11:56
2002.09.30
фокус ввода


3-97950
Bishop
2002-09-07 14:36
2002.09.30
FibDataSet


1-98119
id_privin
2002-09-19 19:20
2002.09.30
Может ли компилятор убивать среду.


7-98377
Вятченко-Карпинский
2002-07-22 14:12
2002.09.30
как считать с СOM-порта





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский