VB6添加PNG图片

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VB6添加PNG图片相关的知识,希望对你有一定的参考价值。

窗体Image要显示半透明的图像,而ICO必须是32位的,VB6不支持,所以就剩下PNG了。。可PNG又不支持VB6。怎么办让VB6添加PNG图像,或者,怎样使这个控件半透明?分不是问题!

vb要显示透明png,gdi+是最好的办法了,它支持半透明。但是,要下载gdiplus.tlb( http://www.vbaccelerator.com/article.asp?id=4588外国网站)并且引用才行。如果引用了gdiplus.tlb ,那么可以使用下面的代码。Private TOKEN As Long
Private Graphics As Long Private Sub InitGDIPlus()
'初始化GDI+
Dim uInput As GdiplusStartupInput

uInput.GdiplusVersion = 1
If GdiplusStartup(TOKEN, uInput) <> Ok Then
'初始化错误
MsgBox "GDI+ 初始化错误。程序即将关闭。", vbCritical, "InitError"
End
End If
GdipCreateFromHDC Me.hDC, Graphics
GdipSetSmoothingMode Graphics, SmoothingModeAntiAlias
End Sub
Private Sub Form_Load()
InitGDIPlus Dim image As Long GdipCreateBitmapFromFile "E:\image1.png", image
GdipDrawImage Graphics, image, 0, 0
GdipDisposeImage image
End Sub
Private Sub TerminateGDIPlus()
GdipDeleteGraphics Graphics '释放graphics占用的内存
GdiplusShutdown TOKEN '关闭GDI+
End Sub
Private Sub Form_Unload(Cancel As Integer)
TerminateGDIPlus
End Sub看看flash控件那种完美的半透明效果,谁说做不了,不过我也不懂。哎,如果实在没招,用个flash也不错。
参考技术A 半透明的?好像只有窗体才可以吧,一般做半透明的效果我用PS做。VB做透明效果,窗体透明,那么控件也跟着窗体透明而透明的。 参考技术B 控件不能半透明,因为没有扩展消息

Flex 修改控件皮肤时,想给checkbox添加个背景图片,路径正确不知道为什么还报无法解析图片的问题

参考技术A 应该是/assets/1.png的追问

我觉得不对吧。/代表项目跟的话,应该是/src/assets/1.png。你说呢?

追答

/src/assets/1.png,这样是不对的,发布之后是没有src目录的啦

再在Asset.as类中定义

[Embed(source="titlewindow/max.png")]

  [Bindable]

  public static var MAX_BUTTON:Class;

参考技术B 哪行报错了,图片这行左面没红叉啊追问

就是图片那。不显示红叉,在设计的那个界面也能看见,就是无法运行

追答

晕啊,说清楚点,报的什么错,是找不到图片吗?

以上是关于VB6添加PNG图片的主要内容,如果未能解决你的问题,请参考以下文章

vb6.0 把png格式的图片载入到窗口中。

vb6如何使用png图片

VB如何使用PNG图片

GDI+_Png图片浏览器

图片怎么转png格式

png格式图片怎么压缩大小