vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück
Rubrik:    |   VB-Versionen: VB2005, VB2008, VB201001.12.11
QR-Codes aus der eigenen Anwendung heraus erstellen

QR-Codes sind in aller Munde. Wie man einen solchen "Scan"-Code erzeugen und verwenden kann, das zeigen wir Ihnen in diesem Extra-Tipp.

Autor:  Dieter OtterBewertung:     [ Jetzt bewerten ]Views:  2.254 
http://www.tools4vb.de/System:  WinXP, Win7, Win8, Win10, Win11 Beispielprojekt 

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.

QR-Code
Abb. QR-Code

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)