Im heutigen Extra-Tipp geht es um das Erstellen und Verwenden von QR-Codes. Ein QR-Code ist ein Scan-Code, der mit vielen gängigen Smartphones eingescannt werden kann. Im QR-Code sind bestimmte Informationen verschlüsselt, wie bspw. URL-Adressen. Der QR-Code eignet sich somit sehr gut, um Anwender / Käufer auf eine bestimmte Internetseite zu führen, auf der er oder sie weitere Informationen zu einem Produkt abrufen kann.
Am schnellsten und einfachsten lässt sich ein QR-Code erstellen, wenn man hierfür direkt auf die Google API Chart-Funktionen zugreift, d.h. man ruft eine bestimmte URL auf und übergibt dieser die erforderlichen Parameter. Als Rückgabewert erhält man die Grafik. Das Ganze haben wir für Sie in eine sofort einsetzbare Funktion verpackt. Fügen Sie dem Projekt zunächst einen Verweis auf die System.Web Dll hinzu. Diesen benötigen wir für die unkomplizierte URL-Encodierung. Imports System.IO, System.Net, System.Web ... ''' <summary> ''' Erzeugt aus der übergebenen URL einen QR-Code mit Hilfe der Chart Google-API ''' </summary> ''' <param name="URL">URL-Adresse, für die der QR-Code erstellt werden soll.</param> ''' <param name="Width">Optional. Breite der Grafik</param> ''' <param name="Height">Optiona. Höhe der Grafik</param> ''' <returns>QR-Code (Image-Objekt) oder Nothing, wenn der QR-Code ''' nicht erstellt werden konnte.</returns> ''' <remarks>Weitere Infos unter: ''' http://code.google.com/intl/de-DE/apis/chart/infographics/docs/qr_codes.html</remarks> Public Function QRCodeCreate(ByVal URL As String, _ Optional ByVal Width As Long = 200, _ Optional ByVal Height As Long = 200) As Image ' URL zur Google-API Dim GoogleUrl As String = "http://chart.apis.google.com/chart?cht=qr" ' Parameter Dim Param As String = "&chs=" & CStr(Width) & "x" & CStr(Height) & _ "&chld=H|1&chl=" & System.Web.HttpUtility.UrlEncode(URL) Try ' Web-Anfrage ansetzen Dim oRequest As WebRequest = WebRequest.Create(GoogleUrl & Param) oRequest.Method = "GET" ' Antwort unserer Anfrage... Dim oResponse As WebResponse = oRequest.GetResponse() Application.DoEvents() ' Stream-Objekt mit den Bilddaten erstellen Dim oStream As New StreamReader(oResponse.GetResponseStream()) ' Bild aus dem Stream-Objekt in ein Image-Objekt kopieren Dim oImg As Image = Image.FromStream(oStream.BaseStream) ' Objekte zerstören oStream.Close() oResponse.Close() ' Image-Objekt zurückgeben Return oImg Catch ex As Exception ' Fehler: Nothing zurückgeben Return Nothing End Try End Function Aufrufbeispiel: ' URL, für die ein QR-Code erstellt werden soll Dim Url As String = "http://www.vbarchiv.net" ' QR-Code anzeigen PictureBox1.Image = QRCodeCreate(Url, 150, 150) |