Private Declare Function GetObject Lib "gdi32" Alias "GetObjectA" (ByVal hObject As Long, ByVal nCount As Long, lpObject As Any) As LongPrivate Declare Function GetBitmapBits Lib "gdi32" (ByVal hBitmap As Long, ByVal dwCount As Long, lpBits As Any) As Long Private Declare Function SetBitmapBits Lib "gdi32" (ByVal hBitmap As Long, ByVal dwCount As Long, lpBits As Any) As Long Private PicBets() As Byte '枚举简单图形对象 Private Type BITMAP bmType As Long bmWidth As Long bmHeight As Long bmWidthBytes As Long bmPlanes As Integer bmBitsPixel As Integer bmBits As Long End TypePrivate Sub Command1_Click() Dim bmpjpg As BITMAP Me.CommonDialog1.ShowOpen Dim p As String p = Me.CommonDialog1.FileName Me.Picture1.Picture = LoadPicture(p)'返回二进制图象信息 GetObject Picture1.Image, Len(bmpjpg), bmpjpg ReDim PicBets(bmpjpg.bmHeight * bmpjpg.bmWidth * 3) GetBitmapBits Me.Picture1.Image, UBound(PicBets), PicBets(1) SetBitmapBits Me.Picture2.Image, UBound(PicBets), PicBets(1)Me.Picture2.RefreshEnd SubPrivate Sub Command2_Click() Printer.Print "以下是图形打印的样张" 'Printer.PaintPicture PicBets, 1000, 2000 'StartDoc Printer.Image, UBound(PicBets), PicBets(1) Printer.EndDoc
Private Declare Function SetBitmapBits Lib "gdi32" (ByVal hBitmap As Long, ByVal dwCount As Long, lpBits As Any) As Long
Private PicBets() As Byte
'枚举简单图形对象
Private Type BITMAP
bmType As Long
bmWidth As Long
bmHeight As Long
bmWidthBytes As Long
bmPlanes As Integer
bmBitsPixel As Integer
bmBits As Long
End TypePrivate Sub Command1_Click()
Dim bmpjpg As BITMAP
Me.CommonDialog1.ShowOpen
Dim p As String
p = Me.CommonDialog1.FileName
Me.Picture1.Picture = LoadPicture(p)'返回二进制图象信息
GetObject Picture1.Image, Len(bmpjpg), bmpjpg
ReDim PicBets(bmpjpg.bmHeight * bmpjpg.bmWidth * 3)
GetBitmapBits Me.Picture1.Image, UBound(PicBets), PicBets(1)
SetBitmapBits Me.Picture2.Image, UBound(PicBets), PicBets(1)Me.Picture2.RefreshEnd SubPrivate Sub Command2_Click()
Printer.Print "以下是图形打印的样张"
'Printer.PaintPicture PicBets, 1000, 2000
'StartDoc Printer.Image, UBound(PicBets), PicBets(1)
Printer.EndDoc