程序代码
Private Sub Command1_Click()
Call 加载PNG图片(App.Path & "\验证码.png", Picture1)
End Sub
'-----------------------------------以上为窗体代码-----------------------------------
'-----------------------------------以下为模块代码-----------------------------------
Option Explicit
Public Declare Function GdiplusStartup Lib "gdiplus" (Token As Long, inputbuf As GdiplusStartupInput, Optional ByVal outputbuf As Long = 0) As Long
Public Declare Sub GdiplusShutdown Lib "gdiplus" (ByVal Token As Long)
Public Declare Function GdipLoadImageFromFile Lib "gdiplus" (ByVal FileName As Long, hImage As Long) As Long
Public Declare Function GdipDisposeImage Lib "gdiplus" (ByVal Image As Long) As Long
Public Declare Function GdipCreateFromHDC Lib "gdiplus" (ByVal hdc As Long, Graphics As Long) As Long
Public Declare Function GdipDeleteGraphics Lib "gdiplus" (ByVal Graphics As Long) As Long
Public Declare Function GdipDrawImageRectRectI Lib "gdiplus" (ByVal Graphics As Long, ByVal hImage As Long, ByVal dstX As Long, ByVal dstY As Long, ByVal dstWidth As Long, ByVal dstHeight As Long, ByVal SrcX As Long, ByVal SrcY As Long, ByVal SrcWidth As Long, ByVal SrcHeight As Long, ByVal srcUnit As Long, Optional ByVal imageAttributes As Long = 0, Optional ByVal callback As Long = 0, Optional ByVal callbackData As Long = 0) As Long
Public Declare Function GdipGetImageWidth Lib "gdiplus" (ByVal Image As Long, Width As Long) As Long
Public Declare Function GdipGetImageHeight Lib "gdiplus" (ByVal Image As Long, Height As Long) As Long
Public Const UnitPixel As Long = &H2&
Public Type GdiplusStartupInput
GdiplusVersion As Long
DebugEventCallback As Long
SuppressBackgroundThread As Long
SuppressExternalCodecs As Long
End Type
Public Function 加载PNG图片(ByVal PNG图片路径 As String, ByVal 图片控件 As Object)
图片控件.AutoRedraw = True
Dim Image As Long
Dim Graphics As Long
Dim Token As Long
Dim GdipInput As GdiplusStartupInput
GdipInput.GdiplusVersion = 1
GdiplusStartup Token, GdipInput
GdipLoadImageFromFile StrPtr(PNG图片路径), Image
GdipGetImageWidth Image, 图片控件.Width
GdipGetImageHeight Image, 图片控件.Height
GdipCreateFromHDC 图片控件.hdc, Graphics
GdipDrawImageRectRectI Graphics, Image, 0, 0, 图片控件.Width, 图片控件.Height, 0, 0, 图片控件.Width, 图片控件.Height, UnitPixel, 0, 0, 0
GdipDeleteGraphics Graphics
GdipDisposeImage Image
图片控件.Refresh
图片控件.Picture = 图片控件.Image
GdiplusShutdown Token
End Function