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

Вниз

Не могу напечатать Bitmap на Printer.Canvas ...   Найти похожие ветки 

 
Prok12   (2002-09-27 13:34) [0]

Видимо, к концу недели дошёл до маразма...
Делаю следующее.

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?


 
Song ©   (2002-09-27 13:40) [1]

Надо масштабировать (GetDeviceCaps+PixelsPerInch)


 
Хоу-юнь   (2002-09-27 14:01) [2]

Не печатайте Canvas на принтер! Это отстой.
Работайте через WinAPI. По крайней мере, предсказуем результат печати; не будет проблем с масштабированием.


 
Prok12   (2002-09-27 14:31) [3]

Можно и через API.
А примерчика нету?
Там ведь код тоже не очень длинный быдет...



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

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

Наверх




Память: 0.47 MB
Время: 0.013 c
1-21073
123456789
2002-09-24 23:33
2002.10.07
Как правильно сворачивать программу в TrayBar?


14-21250
wicked
2002-09-12 11:32
2002.10.07
MinGW-gcc


1-21105
Viktor Erko
2002-09-24 10:57
2002.10.07
RxLoginDialog


1-21035
1g0r
2002-09-24 17:51
2002.10.07
Введение новой оконной процедуры (непонятка)


14-21218
France
2002-09-09 11:53
2002.10.07
Хочу рестарт сделать, но...