-
Кто нибудь печатал с помощью KOLPrinters изображения? Если да, то выложте, пожалуйста, кусочек кода, а то у меня через Printer.Canvas.CopyRect что-то не получается.
-
Печатать изображения лучше через метафайл, иначе картинки могут не печататься или криво печататься и т.д. Например, если у принтера включен режим экономии тонера\чернил, то простой битмап может вообще не напечататься. А если "завернуть" его в метафайл, то печатается на раз! Я просто, в свое время польшой "интим" поимел, выводя BMP-хи на принтер, то с одной машины печатается, а с другой нет, то через раз печатае...
-
> А если "завернуть" его в метафайл, то печатается на раз!
А можно немножко поподробнее по процедуре "заварачивания"?
-
Вообще можно полностью формировать страницу, а потом ее целиком уже печатать....
...... 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;
-
Это я кусок выдрал из программы, причесал слегка, для понятности, но не то конца, думаю разберешься.
-
Огромное спасибо! Вроде все понятно. В понедельник буду пробовать.
-
2 mdw: что-то я у себя не нашел PPaintMetafile...
-
-
Спасибо, все работает.
|