画像ファイルを印刷する |
画像ファイルを印刷する(ピクチャーの内容を印刷する) (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