Public Function InitGDIPlusTo(ByRef token As Long, _Optional OnErrShowMsg As Boolean = True, Optional OnErrEndApp As Boolean = True, _Optional ErrMsgText As String = "GDI+ 初始化错误。程序即将关闭。", _Optional ErrMsgStyle As VbMsgBoxStyle = vbCritical, _Optional ErrMsgTitle As String = "初始化错误") As GpStatusIf token <> 0 ThenDebug.Print "InitGDIPlusTo> GdiPlus已被初始化"Exit FunctionEnd IfDim uInput As GdiplusStartupInputDim ret As GpStatusuInput.GdiplusVersion = 1ret = GdiplusStartup(token, uInput)If ret <> Ok ThenIf OnErrShowMsg Then MsgBox ErrMsgText, ErrMsgStyle, ErrMsgTitleIf OnErrEndApp Then EndEnd IfInitGDIPlusTo = ret End Function &#39;直接调用 mToken = GDI.InitGDIPlus
Private Sub PrintBitmap(ByVal Bitmap As Long)Dim OutString As StringDim lf As logfontDim temp As StringDim result As LongDim hOldfont As LongDim hPrintDc As LongDim hFont As LongDim di As DOCINFODim dm As DEVMODEdm = GetPrinterProperty("EPSON L805 Series")dm.dmPaperLength = 1270dm.dmPaperWidth = 890Dim mPrintGraphics As Longdi.cbSize = 20di.lpszDocName = "寸照"hPrintDc = CreateDC(Printer.DriverName, Printer.DeviceName, 0, dm)result = StartDoc(hPrintDc, di)result = StartPage(hPrintDc)GDI.GdipCreateFromHDC hPrintDc, mPrintGraphicsCall GdipImageRotateFlip(Bitmap, Rotate90FlipNone)Call GDI.GdipDrawImageRectI(mPrintGraphics, Bitmap, 0, 0, 326, 477)Call EndPage(hPrintDc)Call EndDoc(hPrintDc)Call DeleteDC(hPrintDc) End Sub