Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

И все-таки проблема, однако!!!


Destroyer ©   (2002-05-21 09:59:00) 

Господа!! Все-таки объясните мне одну весчь: 2 кусочка кода:
1.
var ScaleX, ScaleY: Integer;
R: TRect;
begin
if PrintDialog.Execute then
begin
Printer.BeginDoc;
try
ScaleX:=Trunc((GetDeviceCaps(Printer.Handle,logPixelsX)*MainBitmap.Width)/PixelsPerInch);
ScaleY:=Trunc((GetDeviceCaps(Printer.Handle,logPixelsY)*MainBitmap.Height)/PixelsPerInch);
R:=Rect(0,0,ScaleX,ScaleY);
MainBitmap.SaveToFile("1.bmp");
I.Picture.LoadFromFile("1.bmp");
Printer.Canvas.StretchDraw(R,I.Picture.Graphic);
DeleteFile("1.bmp");
finally
Printer.EndDoc;
end;
end;
end;

2.
var ScaleX, ScaleY: Integer;
R: TRect;
begin
if PrintDialog.Execute then
begin
Printer.BeginDoc;
try
ScaleX:=Trunc((GetDeviceCaps(Printer.Handle,logPixelsX)*MainBitmap.Width)/PixelsPerInch);
ScaleY:=Trunc((GetDeviceCaps(Printer.Handle,logPixelsY)*MainBitmap.Height)/PixelsPerInch);
R:=Rect(0,0,ScaleX,ScaleY);
I.Picture.Assign(MainBitmap);
Printer.Canvas.StretchDraw(R,I.Picture.Graphic);
finally
Printer.EndDoc;
end;
end;
end;

Отличие небольшое, тем не менее 1 кусок кода работает, второй же в итоге выдает пустой лист.


McSimm   (2002-05-21 10:12:00) [1]


> I.Picture.Assign(MainBitmap);

Попробуй
I.Picture.Bitmap.Assign(MainBitmap);


Наверх

Титульная страница Поиск, карта сайта Написать письмо