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(
可惜要占用大量内存.请高手对代码优化..真是搞不明白!!
或者给出其它类似效果的方法...
以下窗体,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格式的压缩图片,会减少很多内存消耗