怎么在VB的图片框里加载PNG格式的图片,或在窗口上显示PNG图片?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么在VB的图片框里加载PNG格式的图片,或在窗口上显示PNG图片?相关的知识,希望对你有一定的参考价值。

不要从网上复制,本人会追加分

假设你的图片的路径是C:\1.png
在form的load事件中写上
me.picture=loadpicture("c:\1.png")
就可以了,这是直接加载到窗体的,不需要picturebox控件。
参考技术A LoadPicture()肯定不行啦~LoadPicture()只能读取bmp,jpg的图片。
加载PNG图片,要熟练API与GDI+的用法。这个我没学,在加上不能网上复制,难度相当大啊!(我有源代码,如果你需要,可以留下邮箱。)
参考技术B Option Explicit
Private Type GUID
Data1 As Long
Data2 As Integer
Data3 As Integer
Data4(0 To 7) As Byte
End Type

Private Type PICTDESC
Size As Long
Type As Long
hPic As Long
hPal As Long
End Type

Private Type GdiplusStartupInput
GdiplusVersion As Long
DebugEventCallback As Long
SuppressBackgroundThread As Long
SuppressExternalCodecs As Long
End Type

Private Declare Function GdiplusStartup Lib "GDIPlus" (token As Long, _
inputbuf As GdiplusStartupInput, Optional ByVal outputbuf As Long = 0) As Long
Private Declare Function GdipCreateBitmapFromFile Lib "GDIPlus" (ByVal filename As Long, bitmap As Long) As Long
Private Declare Function GdipCreateHBITMAPFromBitmap Lib "GDIPlus" (ByVal bitmap As Long, _
hbmReturn As Long, ByVal background As Long) As Long
Private Declare Function GdipDisposeImage Lib "GDIPlus" (ByVal image As Long) As Long
Private Declare Function GdiplusShutdown Lib "GDIPlus" (ByVal token As Long) As Long
Private Declare Function OleCreatePictureIndirect Lib "olepro32.dll" (PicDesc As PICTDESC, _
RefIID As GUID, ByVal fPictureOwnsHandle As Long, IPic As IPicture) As Long

Public Function LoadImage(ByVal strFName As String) As IPicture
Dim uGdiInput As GdiplusStartupInput
Dim hGdiPlus As Long
Dim hGdiImage As Long
Dim hBitmap As Long

uGdiInput.GdiplusVersion = 1

If GdiplusStartup(hGdiPlus, uGdiInput) = 0 Then
If GdipCreateBitmapFromFile(StrPtr(strFName), hGdiImage) = 0 Then
GdipCreateHBITMAPFromBitmap hGdiImage, hBitmap, 0
Set LoadImage = ConvertToIPicture(hBitmap)
GdipDisposeImage hGdiImage
End If
GdiplusShutdown hGdiPlus
End If

End Function

Public Function ConvertToIPicture(ByVal hPic As Long) As IPicture

Dim uPicInfo As PICTDESC
Dim IID_IDispatch As GUID
Dim IPic As IPicture

Const PICTYPE_BITMAP = 1

With IID_IDispatch
.Data1 = &H7BF80980
.Data2 = &HBF32
.Data3 = &H101A
.Data4(0) = &H8B
.Data4(1) = &HBB
.Data4(2) = &H0
.Data4(3) = &HAA
.Data4(4) = &H0
.Data4(5) = &H30
.Data4(6) = &HC
.Data4(7) = &HAB
End With

With uPicInfo
.Size = Len(uPicInfo)
.Type = PICTYPE_BITMAP
.hPic = hPic
.hPal = 0
End With

OleCreatePictureIndirect uPicInfo, IID_IDispatch, True, IPic

Set ConvertToIPicture = IPic
End Function

png图片太大怎么压缩(png图片怎么压缩大小)

参考技术A 您好,我就为大家解答关于png图片太大怎么压缩,png图片怎么压缩大小相信很多小伙伴还不知道,现在让我们一起来看看吧!1、调整PNG图片的大...

您好,我就为大家解答关于png图片太大怎么压缩,png图片怎么压缩大小相信很多小伙伴还不知道,现在让我们一起来看看吧!

1、调整PNG图片的大小可以通过在线改图宝实现,具体的操作步骤如下:首先在百度的搜索框中输入改图宝、然后点击【百度一下】。

2、2、然后在搜索出来的结果中点击【改图宝-在线修改 官网】。

3、3、进入到官网主页后,然后点击【选择并上传图片】。

4、4、接下来选择你要调整的PNG图片,然后点击【打开】。

5、5、进入到改变图片的设置页面以后,在页面的下方点击【改变尺寸】。

6、6、接下来在弹出来的页面选择【指定尺寸】。

7、7、最后输入你要PNG图片的尺寸大小,然后点击【确定修改图片】就可以实现调整PNG图片大小的要求了。

以上是关于怎么在VB的图片框里加载PNG格式的图片,或在窗口上显示PNG图片?的主要内容,如果未能解决你的问题,请参考以下文章

如何在VB中加载PNG格式的图片?

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

VB如何使用PNG图片

如何在VB中使用PNG格式的图片

vb6如何使用png图片

vb中控件图形框如何加载图片