我想把IMAGE1.CANVAS的东西赋给PRINTER.CANVAS里面。
但是不行啊~~~~应该怎么做?
我不是把一个图片给PRINTER.CANVAS啊。而是一个CANVAS(请注意)!

解决方案 »

  1.   


      m_Bitmap := TBitMap.Create;
      m_Bitmap.Canvas.Font.Size := 10;
      m_Bitmap.PixelFormat:= pf16bit;
      m_Bitmap.Canvas.CopyRect(rect(0, 0, 100,100), Canvas, rect(0, 0, 100, 100));  with Printer do
      try
        BeginDoc;  // **
        R := Rect(0, 0, 100, 100);
        Canvas.StretchDraw(R, m_BitMap);  // **
      finally
        EndDoc;  // **
      end;
      

  2.   

    打印图象 :记得添加Printers单元 procedure TForm1.Button1Click(Sender: TObject); 
    var 
      ScaleX, ScaleY: Integer; 
      R: TRect; begin 
      Printer.BeginDoc;  // ** 
      with Printer do 
      try 
        ScaleX := GetDeviceCaps(Handle, logPixelsX) div PixelsPerInch; 
        ScaleY := GetDeviceCaps(Handle, logPixelsY) div PixelsPerInch; 
        R := Rect(0, 0, Image1.Picture.Width * ScaleX, 
          Image1.Picture.Height * ScaleY); 
        Canvas.StretchDraw(R, Image1.Picture.Graphic);  // ** 
      finally 
        EndDoc;  // ** 
      end; 
    end;