/// <summary> /// SVG二维码 /// </summary> /// <param name="url"></param> /// <param name="pixel"></param> /// <returns></returns> public string GetSvgQRCode(string url, int pixel) { var qrCodeData = _generator.CreateQrCode(url, QRCodeGenerator.ECCLevel.Q); var qrCode = new SvgQRCode(qrCodeData); return(qrCode.GetGraphic(pixel)); }
public void can_instantate_parameterless() { var svgCode = new SvgQRCode(); svgCode.ShouldNotBeNull(); svgCode.ShouldBeOfType <SvgQRCode>(); }
public bool CreateQRCode(string str, QRCodeGenerator.ECCLevel eccLevel, System.Drawing.Size size) { if (string.IsNullOrEmpty(str)) { return(false); } _qrdata = QrcodeGenerator.CreateQrCode(str, eccLevel); string svg = ""; if (null != _qrdata) { SvgQRCode svgqrcode = new SvgQRCode(_qrdata); svg = svgqrcode.GetGraphic(size, Color.Black, Color.White); using (var stream = new MemoryStream(Encoding.Default.GetBytes(svg))) { _svg = SvgDocument.Open <SvgDocument>(stream, null); var g = new SvgGroup(); var ls = _svg.Children.ToList(); _svg.Children.Clear(); foreach (var c in ls) { g.Children.Add(c); } _svg.Children.Add(g); } DrawCorner(); } _svg.Write(@"d:\1.svg"); _image = _svg.Draw();// CustomQRCode.QRCode.Util.Svg2Bitmap(_svg); return(true); }
public IViewComponentResult Invoke(string data) { QRCodeData qrCodeData = qrGenerator.CreateQrCode(data, QRCodeGenerator.ECCLevel.Q); SvgQRCode qrCode = new SvgQRCode(qrCodeData); return(new HtmlContentViewComponentResult(new HtmlString(qrCode.GetGraphic(new Size(256, 256), "#000", "#f5f5f7", true, SvgQRCode.SizingMode.ViewBoxAttribute)))); }
/// <summary> /// 生成svg格式的二维码图片 /// </summary> /// <param name="plainText">转化为二维码的内容</param> /// <param name="pixel">像素</param> /// <returns></returns> public static string CreateQRCodeBySvg(string plainText, string savePath, int pixel = 10) { var generator = new QRCodeGenerator(); var qrCodeData = generator.CreateQrCode(plainText, QRCodeGenerator.ECCLevel.Q); var qrCode = new SvgQRCode(qrCodeData); return(qrCode.GetGraphic(pixel)); }
/// <summary> /// 绘制二维码 /// </summary> /// <param name="content"></param> /// <returns>Svg</returns> public string RenderSvg(string content) { QRCodeGenerator generator = new QRCodeGenerator(); QRCodeData data = generator.CreateQrCode(content, _eccLevel); var qrCode = new SvgQRCode(data); return(qrCode.GetGraphic(Config.Size, Config.DarkColor, Config.LightColor, Config.HasPadding)); }
private byte[] RenderSvg(QRCodeData data) { var qrCode = new SvgQRCode(data); var render = qrCode.GetGraphic(renderOptions.PixelsPerModule, renderOptions.DarkColour, renderOptions.LightColour, renderOptions.DrawQuietZones); return(Encoding.ASCII.GetBytes(render)); }
public string GetSvgQRCode(string plainText, int pixel) { var generator = new QRCodeGenerator(); var qrCodeData = generator.CreateQrCode(plainText, QRCodeGenerator.ECCLevel.Q); var qrCode = new SvgQRCode(qrCodeData); return(qrCode.GetGraphic(pixel)); }
public IActionResult Details(string encode) { QRCodeGenerator qrGenerator = new QRCodeGenerator(); QRCodeData qrCodeData = qrGenerator.CreateQrCode(encode, QRCodeGenerator.ECCLevel.Q); SvgQRCode qrCode = new SvgQRCode(qrCodeData); string qrCodeAsSvg = qrCode.GetGraphic(5); return(Content(qrCodeAsSvg, "image/svg+xml")); }
public string GenerateQrCode(string input) { QRCodeGenerator qrGenerator = new QRCodeGenerator(); QRCodeData qrCodeData = qrGenerator.CreateQrCode("The text which should be encoded.", QRCodeGenerator.ECCLevel.Q); SvgQRCode qrCode = new SvgQRCode(qrCodeData); string qrCodeAsSvg = qrCode.GetGraphic(20); return(qrCodeAsSvg); }
public IActionResult GetQRCode(string data, int size = 180) { using (var qrGenerator = new QRCodeGenerator()) using (var qrCodeData = qrGenerator.CreateQrCode(data, QRCodeGenerator.ECCLevel.L)) using (var svgQrCode = new SvgQRCode(qrCodeData)) { var svgText = svgQrCode.GetGraphic(new Size(size, size), false, SvgQRCode.SizingMode.WidthHeightAttribute); return(File(Encoding.UTF8.GetBytes(svgText), "image/svg+xml")); } }
public IActionResult QrCode(string data, int size = 168) { using (var qrGenerator = new QRCodeGenerator()) using (var qrCodeData = qrGenerator.CreateQrCode(data, QRCodeGenerator.ECCLevel.L)) using (var svgQrCode = new SvgQRCode(qrCodeData)) { var svgText = svgQrCode.GetGraphic(new Size(size, size)); return(File(Encoding.UTF8.GetBytes(svgText), "text/xml")); } }
public ActionResult GetQrCode() { using (QRCoder.QRCodeGenerator gen = new QRCodeGenerator()) { using (var data = gen.CreateQrCode(Guid.NewGuid().ToString(), QRCodeGenerator.ECCLevel.L)) { using (QRCoder.SvgQRCode code = new SvgQRCode(data)) { return(Content(code.GetGraphic(5), "image/svg+xml")); } } } }
public void can_render_svg_qrcode_without_quietzones_hex() { //Create QR code var gen = new QRCodeGenerator(); var data = gen.CreateQrCode("This is a quick test! 123#?", QRCodeGenerator.ECCLevel.H); var svg = new SvgQRCode(data).GetGraphic(10, "#000000", "#ffffff", false); var result = HelperFunctions.StringToHash(svg); result.ShouldBe("4ab0417cc6127e347ca1b2322c49ed7d"); }
public void can_render_svg_qrcode_simple() { //Create QR code var gen = new QRCodeGenerator(); var data = gen.CreateQrCode("This is a quick test! 123#?", QRCodeGenerator.ECCLevel.L); var svg = new SvgQRCode(data).GetGraphic(5); var result = HelperFunctions.StringToHash(svg); result.ShouldBe("5c251275a435a9aed7e591eb9c2e9949"); }
public void can_render_svg_qrcode() { //Create QR code var gen = new QRCodeGenerator(); var data = gen.CreateQrCode("This is a quick test! 123#?", QRCodeGenerator.ECCLevel.H); var svg = new SvgQRCode(data).GetGraphic(10, Color.Red, Color.White); var result = HelperFunctions.StringToHash(svg); result.ShouldBe("1baa8c6ac3bd8c1eabcd2c5422dd9f78"); }
public void can_render_svg_qrcode_viewbox_mode() { //Create QR code var gen = new QRCodeGenerator(); var data = gen.CreateQrCode("This is a quick test! 123#?", QRCodeGenerator.ECCLevel.H); var svg = new SvgQRCode(data).GetGraphic(new Size(128, 128)); var result = HelperFunctions.StringToHash(svg); result.ShouldBe("56719c7db39937c74377855a5dc4af0a"); }
public void can_render_svg_qrcode_viewbox_mode_viewboxattr() { //Create QR code var gen = new QRCodeGenerator(); var data = gen.CreateQrCode("This is a quick test! 123#?", QRCodeGenerator.ECCLevel.H); var svg = new SvgQRCode(data).GetGraphic(new Size(128, 128), sizingMode: SvgQRCode.SizingMode.ViewBoxAttribute); var result = HelperFunctions.StringToHash(svg); result.ShouldBe("788afdb693b0b71eed344e495c180b60"); }
public void can_render_svg_qrcode_without_quietzones() { //Create QR code var gen = new QRCodeGenerator(); var data = gen.CreateQrCode("This is a quick test! 123#?", QRCodeGenerator.ECCLevel.H); var svg = new SvgQRCode(data).GetGraphic(10, Color.Red, Color.White, false); var result = HelperFunctions.StringToHash(svg); result.ShouldBe("2a582427d86b51504c08ebcbcf0472bd"); }
// Render as SVG FORMAT private void button5_Click(object sender, EventArgs e) { var data = "SVG FORMAT"; var qrCodeData = new QRCodeGenerator().CreateQrCode(data, QRCodeGenerator.ECCLevel.Q); var qrCode = new SvgQRCode(qrCodeData); var qrCodeSvgContent = qrCode.GetGraphic(20); // Image as SVG data (GetGraphic returns an xml-string) File.WriteAllText(string.Format(QR_OUTPUT_TEMPLATE, "5").Replace(".jpg", ".svg"), qrCodeSvgContent); pictureBox1.Image = null; }
public IActionResult GetQrCodeForJoiningGame(GameId gameId) { var qrGenerator = new QRCodeGenerator(); var host = Request.Host; var payload = new PayloadGenerator.Url($"{host}/gameControl/{gameId}/Anonymous"); var qrCodeData = qrGenerator.CreateQrCode(payload); var qrCode = new SvgQRCode(qrCodeData); var qrCodeText = qrCode.GetGraphic(10); var qrCodeBytes = Encoding.UTF8.GetBytes(qrCodeText); return(File(qrCodeBytes, "image/svg+xml")); }
private static void GenerateQRCode(string payloadString, QRCodeGenerator.ECCLevel eccLevel, string outputFileName, SupportedImageFormat imgFormat, int pixelsPerModule, string foreground, string background) { using (var generator = new QRCodeGenerator()) { using (var data = generator.CreateQrCode(payloadString, eccLevel)) { switch (imgFormat) { case SupportedImageFormat.Png: case SupportedImageFormat.Jpg: case SupportedImageFormat.Gif: case SupportedImageFormat.Bmp: case SupportedImageFormat.Tiff: using (var code = new QRCode(data)) { using (var bitmap = code.GetGraphic(pixelsPerModule, foreground, background, true)) { var actualFormat = new OptionSetter().GetImageFormat(imgFormat.ToString()); bitmap.Save(outputFileName, actualFormat); } } break; case SupportedImageFormat.Svg: using (var code = new SvgQRCode(data)) { var test = code.GetGraphic(pixelsPerModule, foreground, background, true); using (var f = File.CreateText(outputFileName)) { f.Write(test); f.Flush(); } } break; case SupportedImageFormat.Xaml: using (var code = new XamlQRCode(data)) { var test = XamlWriter.Save(code.GetGraphic(pixelsPerModule, foreground, background, true)); using (var f = File.CreateText(outputFileName)) { f.Write(test); f.Flush(); } } break; default: throw new ArgumentOutOfRangeException(nameof(imgFormat), imgFormat, null); } } } }
public IActionResult Join(Guid gameId) { var generator = new PayloadGenerator.Url($"{Request.Scheme}://{Request.Host}{Request.PathBase}/client/{gameId}"); var payload = generator.ToString(); var qrGenerator = new QRCodeGenerator(); var qrCodeData = qrGenerator.CreateQrCode(payload, QRCodeGenerator.ECCLevel.Q); var qrCode = new SvgQRCode(qrCodeData); var qrCodeAsSvg = qrCode.GetGraphic(5); return(Content(qrCodeAsSvg, "image/svg+xml; charset=utf-8")); }
public void can_render_svg_qrcode() { //Create QR code var gen = new QRCodeGenerator(); var data = gen.CreateQrCode("This is a quick test! 123#?", QRCodeGenerator.ECCLevel.H); var svg = new SvgQRCode(data).GetGraphic(10, Color.Red, Color.White); var md5 = new MD5CryptoServiceProvider(); var hash = md5.ComputeHash(System.Text.Encoding.UTF8.GetBytes(svg)); var result = BitConverter.ToString(hash).Replace("-", "").ToLower(); result.ShouldBe("0ad8bc75675d04ba0caff51c7a89992c"); }
public void can_render_svg_qrcode_without_quietzones() { //Create QR code var gen = new QRCodeGenerator(); var data = gen.CreateQrCode("This is a quick test! 123#?", QRCodeGenerator.ECCLevel.H); var svg = new SvgQRCode(data).GetGraphic(10, Color.Red, Color.White, false); var md5 = new MD5CryptoServiceProvider(); var hash = md5.ComputeHash(System.Text.Encoding.UTF8.GetBytes(svg)); var result = BitConverter.ToString(hash).Replace("-", "").ToLower(); result.ShouldBe("24392f47d4c1c2c5097bd6b3f8eefccc"); }
/// <summary> /// Generate SVG String of the qr for the given text /// </summary> /// <param name="text">The text to generate the QR</param> /// <returns>SVG Image String of generated QR</returns> public string GenerateSvgString(string text) { var qrCodeData = _qrCodeGenerator.CreateQrCode(text, QRCodeGenerator.ECCLevel.H); var qrCodeSvg = new SvgQRCode(qrCodeData); var svgString = qrCodeSvg.GetGraphic( viewBox: new Size(width: 1, height: 1), drawQuietZones: true, sizingMode: SvgQRCode.SizingMode.ViewBoxAttribute ); return(svgString); }
public Task <string> EncodeSvg(string content, int pixelPerModule = ImagingConstants.DefaultQRCodePixelPerModule) { if (pixelPerModule < ImagingConstants.MinimalQRCodePixelPerModule) { pixelPerModule = ImagingConstants.DefaultQRCodePixelPerModule; } var qrcodeData = this.GetQRCodeData(content); var qrcode = new SvgQRCode(qrcodeData); string qrcodeImage = qrcode.GetGraphic(pixelPerModule); return(Task.FromResult(qrcodeImage)); }
public void can_render_svg_qrcode_with_svg_logo_image_tag() { //Create QR code var gen = new QRCodeGenerator(); var data = gen.CreateQrCode("This is a quick test! 123#?", QRCodeGenerator.ECCLevel.H); //Used logo is licensed under public domain. Ref.: https://thenounproject.com/Iconathon1/collection/redefining-women/?i=2909361 var logoSvg = File.ReadAllText(GetAssemblyPath() + "\\assets\\noun_Scientist_2909361.svg"); var logoObj = new SvgQRCode.SvgLogo(logoSvg, 20, iconEmbedded: false); var svg = new SvgQRCode(data).GetGraphic(10, Color.DarkGray, Color.White, logo: logoObj); var result = HelperFunctions.StringToHash(svg); result.ShouldBe("bd442ea77d45a41a4f490b8d41591e04"); }
public void can_render_svg_qrcode_with_png_logo() { //Create QR code var gen = new QRCodeGenerator(); var data = gen.CreateQrCode("This is a quick test! 123#?", QRCodeGenerator.ECCLevel.H); //Used logo is licensed under public domain. Ref.: https://thenounproject.com/Iconathon1/collection/redefining-women/?i=2909346 var logoBitmap = (Bitmap)Bitmap.FromFile(GetAssemblyPath() + "\\assets\\noun_software engineer_2909346.png"); var logoObj = new SvgQRCode.SvgLogo(logoBitmap, 15); var svg = new SvgQRCode(data).GetGraphic(10, Color.DarkGray, Color.White, logo: logoObj); var md5 = new MD5CryptoServiceProvider(); var hash = md5.ComputeHash(System.Text.Encoding.UTF8.GetBytes(svg)); var result = BitConverter.ToString(hash).Replace("-", "").ToLower(); result.ShouldBe("4ff45872787f321524cc4d071239c25e"); }
public void can_render_svg_qrcode_with_svg_logo() { //Create QR code var gen = new QRCodeGenerator(); var data = gen.CreateQrCode("This is a quick test! 123#?", QRCodeGenerator.ECCLevel.H); //Used logo is licensed under public domain. Ref.: https://thenounproject.com/Iconathon1/collection/redefining-women/?i=2909361 var logoSvg = File.ReadAllText(GetAssemblyPath() + "\\assets\\noun_Scientist_2909361.svg"); var logoObj = new SvgQRCode.SvgLogo(logoSvg, 30); var svg = new SvgQRCode(data).GetGraphic(10, Color.DarkGray, Color.White, logo: logoObj); var md5 = new MD5CryptoServiceProvider(); var hash = md5.ComputeHash(System.Text.Encoding.UTF8.GetBytes(svg)); var result = BitConverter.ToString(hash).Replace("-", "").ToLower(); result.ShouldBe("b4ded3964e2e640b6b6c74d1c89d71fa"); }