Private Sub Command1_Click()
On Error GoTo ABC
Picture1.Picture = LoadPicture("C:\456\1.jpg")
If Picture1.Picture <> LoadPicture("") Then
Printer.PaintPicture Picture1.Picture, 0, 0
Else
MsgBox "Picture1中没有图片可打印!"
End If
Printer.EndDoc
ABC:
Exit Sub
End Sub打印出来的图片 只显示一部分 怎么解决呢???
On Error GoTo ABC
Picture1.Picture = LoadPicture("C:\456\1.jpg")
If Picture1.Picture <> LoadPicture("") Then
Printer.PaintPicture Picture1.Picture, 0, 0
Else
MsgBox "Picture1中没有图片可打印!"
End If
Printer.EndDoc
ABC:
Exit Sub
End Sub打印出来的图片 只显示一部分 怎么解决呢???
Private Sub Form_Load()
Printer.ScaleMode = 3 '单位为毫米
' Printer.Copies = 10 '打印份数为10
' Printer.PaperSize = vbPRPSUser '纸张为自定义尺寸
Printer.PrintQuality = 4 '照片质量高品质打印
Printer.ScaleWidth = 1181.1 '纸张宽度mm,比如210mm
Printer.ScaleHeight = 1771.7 '纸张高度mm,比如297mm
Printer.ColorMode = 2 '彩色输出
Picture1.Picture = LoadPicture("C:\images.jpg") '这时加入背景图,使其一运行就充满窗体
Picture1.Visible = True
Picture1.ScaleMode = 3
Picture1.AutoRedraw = True
Picture2.ScaleMode = 3
Picture2.ScaleHeight = 1771.7
Picture2.ScaleWidth = 1181.1
Picture2.AutoRedraw = False Picture2.Visible = True
Call Form_Resize
Me.Refresh
Me.AutoRedraw = False
End SubPrivate Sub Form_Resize()
Dim Rtn As Long
Dim hDC1 As Long, hDC2 As Long, hDC3 As Long
hDC1 = Picture1.hdc
hDC2 = Me.hdc
hDC3 = Picture2.hdc
Call SetStretchBltMode(hDC3, HALFTONE)
Rtn = StretchBlt(hDC3, 0, 0, Picture2.ScaleWidth, Picture2.ScaleHeight, hDC1, 0, 0, Picture1.ScaleWidth, Picture1.ScaleHeight, SRCCOPY)
Picture2.AutoRedraw = True
Picture2.PaintPicture Picture1.Picture, 0, 0
Printer.PaintPicture Picture2.Picture, 0, 0, 1181.1, 1771.7
Printer.EndDoc
Me.RefreshEnd Sub用 StretchBlt 缩放后, 把picture1 里面的图片 缩放到picture2, 最后竟然无法打印 picture2,现在的问题是缩放后的图片怎么进行保存?反正是比较纠结,,,,,,,,,高手们多多指教@能给个示例代码更好
Picture2.AutoRedraw = True
Picture2.PaintPicture Picture1.Picture, 0, 0, Picture2.ScaleWidth, Picture2.ScaleHeight
Printer.PaintPicture Picture2.Image, 0, 0, 1181.1, 1771.7
Printer.EndDoc
Me.Refresh
End Sub
应该是 Picture2.Image吧!