Конференция "KOL" » Печать изображений
 
  • exero © (21.03.08 15:07) [0]
    Кто нибудь печатал с помощью KOLPrinters изображения? Если да, то выложте, пожалуйста, кусочек кода, а то у меня через Printer.Canvas.CopyRect что-то не получается.
  • mdw © (21.03.08 15:55) [1]
    Печатать изображения лучше через метафайл, иначе картинки могут не печататься или криво печататься и т.д. Например, если у принтера включен режим экономии тонера\чернил, то простой битмап может вообще не напечататься.  А если "завернуть" его в метафайл, то печатается на раз!
    Я просто, в свое время польшой "интим" поимел, выводя BMP-хи на принтер, то с одной машины печатается, а с другой нет, то через раз печатае...
  • exero (21.03.08 16:50) [2]

    >  А если "завернуть" его в метафайл, то печатается на раз!

    А можно немножко поподробнее по процедуре "заварачивания"?
  • mdw © (21.03.08 17:13) [3]
    Вообще можно полностью формировать страницу, а потом ее целиком уже печатать....

    ......
       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;
  • mdw © (21.03.08 17:14) [4]
    Это я кусок выдрал из программы, причесал слегка, для понятности, но не то конца, думаю разберешься.
  • exero (21.03.08 17:42) [5]
    Огромное спасибо! Вроде все понятно. В понедельник буду пробовать.
  • exero © (24.03.08 07:44) [6]
    2 mdw: что-то я у себя не нашел  PPaintMetafile...
  • mdw © (24.03.08 12:52) [7]
  • exero © (24.03.08 13:36) [8]
    Спасибо, все работает.
 
Конференция "KOL" » Печать изображений
Есть новые Нет новых   [134431   +15][b:0][p:0]