-
Notifications
You must be signed in to change notification settings - Fork 0
/
Class1.vb
93 lines (69 loc) · 3.47 KB
/
Class1.vb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
Imports System.Windows.Media.Imaging
Imports System.IO
Imports System.Text.RegularExpressions
Imports System.Security.Permissions
Imports System.Runtime.InteropServices
Public Class GetImage
Public Shared Function GetImageFromWeb(ByVal _URL)
Dim _tmpImage = Nothing
Try
' Open a connection
Dim myWebPermission As New WebPermission(PermissionState.Unrestricted)
myWebPermission.Demand()
Dim _HttpWebRequest As System.Net.HttpWebRequest = CType(System.Net.HttpWebRequest.Create(_URL), System.Net.HttpWebRequest)
_HttpWebRequest.AllowWriteStreamBuffering = True
' You can also specify additional header values like the user agent or the referer: (Optional)
'_HttpWebRequest.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)"
'_HttpWebRequest.Referer = "http://www.google.com/"
' set timeout for 20 seconds (Optional)
_HttpWebRequest.Timeout = 20000
' Request response:
Dim _WebResponse As System.Net.WebResponse = _HttpWebRequest.GetResponse()
' Open data stream:
Dim _WebStream As System.IO.Stream = _WebResponse.GetResponseStream()
' convert webstream to System.Drawing.Image
_tmpImage = System.Drawing.Image.FromStream(_WebStream)
' Cleanup
_WebResponse.Close()
_WebResponse.Close()
Catch _Exception As Exception
' Error - Console.WriteLine("Exception caught in process: {0}", _Exception.ToString())
Throw New Exception("Error discover!" & _Exception.ToString())
Return _tmpImage
End Try
Return _tmpImage
End Function
Public Shared Function GetImageFromWebToByteArray(ByVal _URL)
Dim _tmpImage = Nothing
Try
' Open a connection
Dim myWebPermission As New WebPermission(PermissionState.Unrestricted)
myWebPermission.Demand()
Dim _HttpWebRequest As System.Net.HttpWebRequest = CType(System.Net.HttpWebRequest.Create(_URL), System.Net.HttpWebRequest)
_HttpWebRequest.AllowWriteStreamBuffering = True
' You can also specify additional header values like the user agent or the referer: (Optional)
'_HttpWebRequest.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)"
'_HttpWebRequest.Referer = "http://www.google.com/"
' set timeout for 20 seconds (Optional)
_HttpWebRequest.Timeout = 20000
' Request response:
Dim _WebResponse As System.Net.WebResponse = _HttpWebRequest.GetResponse()
' Open data stream:
Dim _WebStream As System.IO.Stream = _WebResponse.GetResponseStream()
' convert webstream to System.Drawing.Image
_tmpImage = System.Drawing.Image.FromStream(_WebStream)
' Cleanup
_WebResponse.Close()
_WebResponse.Close()
Catch _Exception As Exception
' Error - Console.WriteLine("Exception caught in process: {0}", _Exception.ToString())
Throw New Exception("Error discover!" & _Exception.ToString())
Return _tmpImage
End Try
Dim ms As System.IO.MemoryStream = New System.IO.MemoryStream()
_tmpImage.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg)
Dim imagedata As Byte()
imagedata = ms.GetBuffer()
Return imagedata
End Function
End Class