用Tprint中的canvas对象的TextOut方法可用来打印文本,请问如何打印图形呢?

解决方案 »

  1.   

    inherited;
    with ImgMain.Picture.BitMap do
    begin
       Printer.BeginDoc;
       Printer.Cavas.StretchDraw(Cavas.ClipRect,ImgMain.Picture.Bitmap);
       Printer.EndDoc;
    end;
    调用TCanvas.StretchDraw() 来打印位图仅需上面三行代码!
    如果遇到的不是DIB格式的位图,可以把它复制给一个临时的TBitmap对象,然后把TBitmap.HandleType特性设为bmDIB,以强制把位图临时转化为DIB格式,这样就可以打印出DIB格式的位图。