![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Не могу напечатать Bitmap на Printer.Canvas ... [D5, Win2k]
Prok12 © (2002-09-27 13:34:00)Видимо, к концу недели дошёл до маразма...
Делаю следующее.
TempBitmap := TBitmap.Create;
With TempBitmap do begin
PixelFormat := pf16bit;
Width := 1200; Height := 800;
end;
RenderToBitmap(TempBitmap);{ Здесь рисуется то что мне надо - проверял путём сохранения TempBitmap в файл }
Printer.BeginDoc;
Printer.Canvas.StretchDraw(
Rect(0,0,Printer.PageWidth,Printer.PageHeight),
TempBitmap);
Printer.EndDoc;
TempBitmap.Free;
В итоге получаю практически пустой лист, где едва-едва просвечивает (в нужном месте) прямоугольник с картинокой... Принтеры - LaserJet 1200 и 2200.
Нет ли у кого примерчика печати 16bitColor-Bitmap?
Prok12 (2002-09-27 14:31:00) [1]Можно и через API.
А примерчика нету?
Там ведь код тоже не очень длинный быдет...
Хоу-юнь (2002-09-27 14:01:00) [2]Не печатайте Canvas на принтер! Это отстой.
Работайте через WinAPI. По крайней мере, предсказуем результат печати; не будет проблем с масштабированием.
Song (2002-09-27 13:40:00) [3]Надо масштабировать (GetDeviceCaps+PixelsPerInch)