public void TestEncodeMessage() { QRCode qr = QRCode.Encode("HELLO WORLD"); string result = "0110000101101111000110100010111001011011100010011010100001101000000111011000001000111101100000100011110110000010001111011000001000111101100"; Assert.AreEqual(result, qr.Encode_Message()); }
public void QRCodeClick(object sender, RoutedEventArgs e) { if (sender == createQR) { //Creation of the QRCode OnWindowClosing(null, null); Window window = new CreateQR(this); window.ShowDialog(); } else if (sender == decryptQR && img != null) { string result = "Impossible de décoder ce QRCode\nL'image doit être clair et le type de QRCode 1 ou 2 avec masque 0 et alphanumérique uniquement.\nVeillez à avoir le code droit sur un fond blanc."; try { result = QRCode.Decode(img); System.Windows.Clipboard.SetText(result); result = "Le Code Signifie : " + result + "\nLe texte a été collé dans le presse papier"; } catch (Exception ex) { } finally { System.Windows.MessageBox.Show(result, "QRCode Decoder", MessageBoxButton.OK); } } else if (sender.GetType() == typeof(string)) { string qrContent = (string)sender; img = QRCode.Encode(qrContent); sDlg.Title = "Sauvegardez votre QR Code"; if (sDlg.ShowDialog() == System.Windows.Forms.DialogResult.OK) { selectedFileName.Push(img.Save(sDlg.FileName)); InitButtons(); SetImageSource(sDlg.FileName); } sDlg.Title = "Save image"; } }
public ModuleQRCode() : base("/doorbell") { Get["/mobile_qrcode", true] = async(parameters, ct) => { //string DeviceId = this.Request.Query["ro"]; string user = this.Request.Query["user"]; //Match m = Regex.Match(DeviceId, @"^\w{2}-\w{2}-\w{2}-\w{2}-\w{2}-\w{2}$"); //if (m.Length == 0) // return HttpStatusCode.BadRequest; // illigal Device address format //DeviceId = m.Value; if (user.Length == 0) { return(HttpStatusCode.BadRequest); } using (var db = new ICMDBContext()) { var sipAccount = (from account in db.Sipaccounts where account.C_user == user select account).FirstOrDefault(); if (sipAccount == null) { return(HttpStatusCode.BadRequest); } string content = ""; switch (Config.Instance.CloudSolution) { case CloudSolution.SIPServer: string sipServerIP = Config.Instance.SIPServerIP; content += sipAccount.C_user + "\n" + sipAccount.C_password + "\n" + sipServerIP; break; case CloudSolution.PPHook: string icmServerIP = Config.Instance.OutboundIP; string result = await HttpClient.GetPPHookServiceToken("8001"); PPHookServiceToken pphookServiceToken = JsonConvert.DeserializeObject <PPHookServiceToken>(result); string token = pphookServiceToken.token; string userGroup = sipAccount.C_usergroup; content += sipAccount.C_user + "\n" + sipAccount.C_password + "\n" + icmServerIP + "\n" + token + "\n" + userGroup; break; } //string content = "http://www.google.com/"; //将要編碼的文字生成出QRCode的图檔 System.Drawing.Bitmap bitmap = QRCode.Encode(content); //儲存图片 MemoryStream ms = new MemoryStream(); bitmap.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg); // JPG、GIF、PNG等均可 byte[] imageData = ms.ToArray(); //bitmap.Save(@"D:\temp.jpg", System.Drawing.Imaging.ImageFormat.Jpeg); var response = new Response(); response.ContentType = "image/jpg"; response.Contents = s => s.Write(imageData, 0, imageData.Count()); return(response); } }; }