• c# ZXing 二维码 支持中文


    public class QRCode
        {
            public static Bitmap QR(string content)
            {
                Dictionary<EncodeHintType, object> hints = new Dictionary<EncodeHintType, object>();
                hints.Add(EncodeHintType.CHARACTER_SET, "UTF-8");//解决中文异常
                QRCodeWriter writer = new QRCodeWriter();
                BitMatrix matrix= writer.encode(content, BarcodeFormat.QR_CODE, 300, 300,hints);
                Bitmap m = toBitmap(matrix);
                //m.Save("d:\a.tif", ImageFormat.Tiff);
                return m;
            }
            public static Bitmap toBitmap(BitMatrix matrix)
            {
                int width = matrix.Width;
                int height = matrix.Height;
                Bitmap bmap = new Bitmap(width, height, PixelFormat.Format32bppArgb);
                for (int x = 0; x < width; x++)
                {
                    for (int y = 0; y < height; y++)
                    {
                        bmap.SetPixel(x, y,matrix[x, y]? ColorTranslator.FromHtml("0xFF000000") : ColorTranslator.FromHtml("0xFFFFFFFF"));
                    }
                }
                return bmap;
            }
            public static byte[] BitmapToBytes(Bitmap Bitmap)
            {
                MemoryStream ms = null;
                try
                {
                    ms = new MemoryStream();
                    Bitmap.Save(ms,ImageFormat.Tiff);
                    byte[] byteImage = new Byte[ms.Length];
                    byteImage = ms.ToArray();
                    return byteImage;
                }
                catch (ArgumentNullException ex)
                {
                    throw ex;
                }
                finally
                {
                    ms.Close();
                }
            }
        }
    public IActionResult Get()
            {
                try
                {
                    var m = QRCode.QR("返回二维码测试文本!!!!");
                    var n = QRCode.BitmapToBytes(m);
                    new FileExtensionContentTypeProvider().Mappings.TryGetValue(".tif", out var contenttype);
                    return File(n, contenttype, "qr.tif");
                }
                catch (Exception e)
                {
                    return Ok(e.Message);
                }
            }

    可通过此api下载二维码文件,支持中文

    需要安装ZXing.Net,我的版本0.16.5

  • 相关阅读:
    zombodb 数据类型映射
    Amundsen — Lyft’s data discovery & metadata engine
    The Twelve-Factor Container
    zombodb sql functions 说明
    zombodb 得分以及高光
    windows openssh 设置root 目录
    zombodb 聚合函数
    zombodb 索引管理
    zombodb 索引创建
    zombodb 低级api 操作
  • 原文地址:https://www.cnblogs.com/huanyun/p/11698424.html
Copyright © 2020-2023  润新知