画像ファイルを印刷する
                                                        玄関へお回り下さい。
画像ファイルを印刷する(ピクチャーの内容を印刷する)      (031)
    
画像ファイルの印刷色々
まずPictureコントロールに画像を貼付けAutoSize=True に設定して下さい。

Private Sub Form_Load()
    Picture1.AutoSize = True
    Picture1.AutoRedraw = True
   
Set Picture1.Picture = LoadPicture("C:\VBRescue\031\koinu.jpg")
End Sub

Private Sub Command1_Click()
   
Dim lngHeight    As Long
   
Dim lngWidth     As Long
   
Dim sngHZoomRitu As Single
   
Dim sngWZoomRitu As Single
   
   
'スケールモードを  1  twip 単位に
    Picture1.ScaleMode = vbTwips
    Printer.ScaleMode = vbTwips

   
'用紙サイズをA4に設定
    Printer.PaperSize = vbPRPSA4
   
'用紙方向を横向きに設定
    Printer.Orientation = vbPRORLandscape

   
'実寸で印刷
    Printer.PaintPicture Picture1.Image, 0, 0
    Printer.NewPage    
'改ページ

   
'用紙サイズいっぱいに拡大・縮小して印刷
    Printer.PaintPicture Picture1.Image, 0, 0, _
                    Printer.Width, Printer.Height
    Printer.NewPage    
'改ページ
   
   
'上記だと縦横比が変化して変な形に拡大・縮小されるので
   
'Imageファイルの寸法を取得
    lngHeight = Picture1.Height
    lngWidth = Picture1.Width
   
'拡大・縮小率を計算
    sngHZoomRitu = Printer.Height / lngHeight
    sngWZoomRitu = Printer.Width / lngWidth
   
'元のサイズの縦横比で用紙いっぱいに拡大・縮小
   
If sngHZoomRitu < sngWZoomRitu Then
        lngHeight = lngHeight * sngHZoomRitu
        lngWidth = lngWidth * sngHZoomRitu
   
Else
        lngHeight = lngHeight * sngWZoomRitu
        lngWidth = lngWidth * sngWZoomRitu
   
End If
   
'lngWidth, lngHeightを指定すれば好みのサイズで印刷できる
    Printer.PaintPicture Picture1.Image, 0, 0, _
                          lngWidth, lngHeight
    Printer.NewPage    
'改ページ
   
   
'画像ファイルを指定して印刷
    Printer.PaintPicture LoadPicture("C:\VBRescue\031\koinu.jpg"), 0, 0

    Printer.EndDoc    
' 印刷開始
End Sub

今回はピクチャーの内容を印刷しておりますが、イメージもほぼ同様で印刷できます。
Picture1.ScaleMode = vbTwips ここの部分はコメントアウトに
Picture1.Image, 0, 0           ここは Image1, 0, 0
変更すれば、イメージも同様で印刷できます。




02/01/02