VB中关于PNG图片问题

来源:百度知道 编辑:UC知道 时间:2024/06/18 16:34:15
这段代码做出类似Photoshop的启动效果
可惜要占用大量内存.请高手对代码优化..真是搞不明白!!
或者给出其它类似效果的方法...
以下窗体,API声明省去了 因为太多了 呵呵
Dim mDC As Long
Dim mainBitmap As Long
Dim blendFunc32bpp As BLENDFUNCTION
Dim token As Long
Dim oldBitmap As Long

Private Sub Form_DblClick()

Unload Me

End Sub

Private Sub Form_Load()

Dim GpInput As GdiplusStartupInput
GpInput.GdiplusVersion = 1

If GdiplusStartup(token, GpInput) <> 0 Then
MsgBox "Fehler bem laden von GDI+!", vbCritical
Unload Me
End If

MakeTrans (App.Path & "\splash.png")

End Sub

Private Sub Form_Unload(Cancel As Integer)

Call GdiplusShutdown(token)
SelectObject mDC, oldBitmap
DeleteObject mainBitmap
DeleteObject oldBitmap
DeleteDC mDC

End Sub

Private Function MakeTrans(

还没看代码,但是请先检查一下用过的对象有没有释放

把图片压缩下吧,代码没啥毛病,问题是图片全部加载进内存了。

可以使用jpg格式的压缩图片,会减少很多内存消耗