你可以直接对Printer对象操作,比如Line + BF的方法也可以画出矩形。
追求速度的话可以用API Rectangle对Printer.hDC操作。

解决方案 »

  1.   

    photoshop corelDraw,
    都可以很方便的设定矩形的长宽,和缩放比例。
    特别是CorelDraw尤其方便。
      

  2.   

    这是从我 的代码里拿出来的一个画表格的过程在打印机画一个5行三列的表格就是
    Table Printer 100,100,5,3
    Public Sub Table(ByVal Target As Control, X As Single, Y As Single, Rows As Integer, Cols As Integer)
         On Error Resume Next
         Dim j As Integer
         Target.AutoRedraw = True
           Target.DrawWidth = 1
           Target.Line (X, Y)-(X + Cols * 1800, Y + (Rows - 1) * 600 + 400), , B
           Target.Line (X, Y)-Step(Cols * 1800, 400), , B
           Target.CurrentX = X + (Cols * 900) - Target.TextWidth("标记说明") / 2
           Target.CurrentY = Y + 150
           Target.Print "图例说明"
           For j = 1 To Rows - 1
                If j = 0 Then
                Target.FillStyle = 0
                Target.FillColor = RGB(200, 200, 200)
                Else
                Target.FillStyle = 1
                End If
           
           Target.Line (X, Y + 400 + j * 600)-Step(Cols * 1800, 0)
           'HuaTULi Target, j, X + 500, Y + 400 + (j - 1) * 600 + 300
           Next
           Target.Line (X + 1000, Y + 400)-Step(0, (Rows - 1) * 600)
                  
          
           
    End Sub
      

  3.   

    以上说的横对,如果矩形框内包含是图片,用Printer.PaintPicture,位置、大小自己计算
      

  4.   

    打印机和PictureBox 的打印方法基本是一样的,如用一样的代码,可以写一个函数类似和尚写的,但ByVal Target As Control要改成Byref Target As object;
    打印的另一种方法就是将PictureBox 的Image用SAVEPICTURE保存为图片文件,再Printer.PaintPicture,位置、大小自己计算
      

  5.   

    我用crystal Repart合不合适呢?