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

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

термо-принтер [D6, Win95/98]


МАРАТ ©   (2002-01-23 09:27:00) 

Мастера!
У меня такой вопрос, у меня есть рисунок (созддается в процессе программы) на компоненте Image1 и т.д., как мне его послать на печать (термо-принтер BZB-2).


Фэ   (2002-01-23 15:04:00) [1]

Правильно делает, что ругается.

Определи его вот так

procedure DrawImage(Canvas: TCanvas; DestRect: TRect; ABitmap: TBitmap);
var
Header, Bits: Pointer;
HeaderSize: Integer;
BitsSize: Longint;
begin
GetDIBSizes(ABitmap.Handle, HeaderSize, BitsSize);
Header := MemAlloc(HeaderSize);
Bits := MemAlloc(BitsSize);
try
GetDIB(ABitmap.Handle, ABitmap.Palette, Header^, Bits^);
StretchDIBits(Canvas.Handle, DestRect.Left, DestRect.Top,
DestRect.Right, DestRect.Bottom,
0, 0, ABitmap.Width, ABitmap.Height, Bits, TBitmapInfo(Header^),
DIB_RGB_COLORS, SRCCOPY);
finally
MemFree(Header, HeaderSize);
MemFree(Bits, BitsSize);
end;
end;


МАРАТ   (2002-01-23 12:10:00) [2]

Фэ !
Дельфи ругается что неопределен
DrawImage


Фэ   (2002-01-23 10:54:00) [3]

Printer.BeginDoc;
DrawImage(Printer.Canvas, Rect(0, 0, printer.pagewidth, printer.pageHeight), Image1.Picture.Bitmap);
Printer.EndDoc;

Для сохранения пропорций надо вычислить правильные width и height.
Если у термопринтера есть драйвер под Win - то все в порядке.
Если нет, то придется разлагать картинку по линиям и посылать raw-поток на принтер в соответствии с его системой команд.


Наверх

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