希米日志


主页 归档 留言 友人 关于


61 0

程序代码

  1. Private Sub Command1_Click()
  2.     Call 加载PNG图片(App.Path & "\验证码.png", Picture1)
  3. End Sub
  4. '-----------------------------------以上为窗体代码-----------------------------------
  5. '-----------------------------------以下为模块代码-----------------------------------
  6. Option Explicit
  7. Public Declare Function GdiplusStartup Lib "gdiplus" (Token As Long, inputbuf As GdiplusStartupInput, Optional ByVal outputbuf As Long = 0) As Long
  8. Public Declare Sub GdiplusShutdown Lib "gdiplus" (ByVal Token As Long)
  9. Public Declare Function GdipLoadImageFromFile Lib "gdiplus" (ByVal FileName As Long, hImage As Long) As Long
  10. Public Declare Function GdipDisposeImage Lib "gdiplus" (ByVal Image As Long) As Long
  11. Public Declare Function GdipCreateFromHDC Lib "gdiplus" (ByVal hdc As Long, Graphics As Long) As Long
  12. Public Declare Function GdipDeleteGraphics Lib "gdiplus" (ByVal Graphics As Long) As Long
  13. 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
  14. Public Declare Function GdipGetImageWidth Lib "gdiplus" (ByVal Image As Long, Width As Long) As Long
  15. Public Declare Function GdipGetImageHeight Lib "gdiplus" (ByVal Image As Long, Height As Long) As Long
  16. Public Const UnitPixel As Long = &H2&
  17. Public Type GdiplusStartupInput
  18.     GdiplusVersion As Long
  19.     DebugEventCallback As Long
  20.     SuppressBackgroundThread As Long
  21.     SuppressExternalCodecs As Long
  22. End Type
  23. Public Function 加载PNG图片(ByVal PNG图片路径 As String, ByVal 图片控件 As Object)
  24.     图片控件.AutoRedraw = True
  25.     Dim Image As Long
  26.     Dim Graphics As Long
  27.     Dim Token As Long
  28.     Dim GdipInput As GdiplusStartupInput
  29.     GdipInput.GdiplusVersion = 1
  30.     GdiplusStartup Token, GdipInput
  31.     GdipLoadImageFromFile StrPtr(PNG图片路径), Image
  32.     GdipGetImageWidth Image, 图片控件.Width
  33.     GdipGetImageHeight Image, 图片控件.Height
  34.     GdipCreateFromHDC 图片控件.hdc, Graphics
  35.     GdipDrawImageRectRectI Graphics, Image, 0, 0, 图片控件.Width, 图片控件.Height, 0, 0, 图片控件.Width, 图片控件.Height, UnitPixel, 0, 0, 0
  36.     GdipDeleteGraphics Graphics
  37.     GdipDisposeImage Image
  38.     图片控件.Refresh
  39.     图片控件.Picture = 图片控件.Image
  40.     GdiplusShutdown Token
  41. End Function

 2016-11-08 18:20:00

二维码

 评论: 0

正在加载验证码......

请先完成验证

目 录