Download the image and automatically center it in the Picture1 control
'References to:
'
' Microsoft Windows Image Acquisition Library v2.0
' Microsoft WinHTTP Services, version 5.1
'References to:
'
' Microsoft Windows Image Acquisition Library v2.0
' Microsoft WinHTTP Services, version 5.1
Code:
Function ShowWebIMG_WIA(imgURL As String, Picture1 As PictureBox)
Dim Vector As WIA.Vector
Picture1.BorderStyle = 0
Picture1.ScaleMode = 3 'pix
Picture1.AutoRedraw = True
With New WinHttp.WinHttpRequest
.Open "GET", imgURL, Async:=True
.Send
.WaitForResponse
Set Vector = New WIA.Vector
Vector.BinaryData = .ResponseBody
End With
With Vector.ImageFile
Dim ip As WIA.ImageProcess
Set ip = CreateObject("WIA.ImageProcess")
ip.Filters.Add ip.FilterInfos("Scale").FilterID
ip.Filters(1).Properties("MaximumWidth") = Picture1.ScaleWidth
ip.Filters(1).Properties("MaximumHeight") = Picture1.ScaleHeight
Dim IMG2 As WIA.ImageFile
Set IMG2 = CreateObject("WIA.ImageFile")
Set IMG2 = ip.Apply(Vector.ImageFile)
Vector.BinaryData = IMG2.FileData.BinaryData
End With
Dim MemPicture As IPictureDisp
Set MemPicture = Vector.Picture
With MemPicture
'.Render Picture1.hDC, (Picture1.ScaleWidth - IMG2.Width) / 2, (Picture1.ScaleHeight - IMG2.Height) / 2, IMG2.Width, IMG2.Height, 0, 0, .Width, .Height, 0 'GOOD1
.Render Picture1.hDC, (Picture1.ScaleWidth - IMG2.Width) / 2, IMG2.Height + (Picture1.ScaleHeight - IMG2.Height) / 2, IMG2.Width, -IMG2.Height, 0, 0, .Width, .Height, 0 'GOOD1
End With
Picture1.Refresh
End Function
Private Sub Command1_Click()
ShowWebIMG_WIA "https://mbdp01.bdstatic.com/static/landing-pc/img/logo_top.79fdb8c2.png", Me.Picture1
End Sub