![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Печать изображений
exero © (2008-03-21 15:07:00)Кто нибудь печатал с помощью KOLPrinters изображения? Если да, то выложте, пожалуйста, кусочек кода, а то у меня через Printer.Canvas.CopyRect что-то не получается.
exero (2008-03-24 13:36:00) [1]Спасибо, все работает.
mdw (2008-03-24 12:52:00) [2]http://www.kolnmck.ru/components/files_graphics.shtml
exero (2008-03-24 07:44:00) [3]2 mdw: что-то я у себя не нашел PPaintMetafile...
exero (2008-03-21 17:42:00) [4]Огромное спасибо! Вроде все понятно. В понедельник буду пробовать.
mdw (2008-03-21 17:14:00) [5]Это я кусок выдрал из программы, причесал слегка, для понятности, но не то конца, думаю разберешься.
mdw (2008-03-21 17:13:00) [6]Вообще можно полностью формировать страницу, а потом ее целиком уже печатать....
......
PaintMetafile: PPaintMetafile;
Image: PBitmap;
begin
PaintMetafile:= NewPaintMetafile;
try
Scale:= AScale;
W:= Printer.PageWidth;
H:= Printer.PageHeight-Round(ABottom/25.4 * Printer.PixelsPerInchX);
Printer.Title:= Title;
Printer.BeginDoc;
Printer.NewPage;
PaintMetafile.BeginPaint(0, 0, Printer.Handle);
Image.StretchDraw(PaintMetafile.Canvas.Handle, MakeRect(Line.Left, Top, Line.Left + Image.Width, Top + Image.Height));
PaintMetafile.Canvas.Pen.Color:= PenColor;
PaintMetafile.Canvas.MoveTo(L, b);
PaintMetafile.Canvas.LineTo(W, b);
PaintMetafile.EndPaint;
PaintMetafile.Draw(Printer.Handle, 0, 0);
Printer.EndDoc;
finally
PaintMetafile.Free;
end;
end;
exero (2008-03-21 16:50:00) [7]
> А если "завернуть" его в метафайл, то печатается на раз!
А можно немножко поподробнее по процедуре "заварачивания"?
mdw (2008-03-21 15:55:00) [8]Печатать изображения лучше через метафайл, иначе картинки могут не печататься или криво печататься и т.д. Например, если у принтера включен режим экономии тонера\чернил, то простой битмап может вообще не напечататься. А если "завернуть" его в метафайл, то печатается на раз!
Я просто, в свое время польшой "интим" поимел, выводя BMP-хи на принтер, то с одной машины печатается, а с другой нет, то через раз печатае...