使用.Net Core 生成条形码,保存成图片,使用ZXing

这篇具有很好参考价值的文章主要介绍了使用.Net Core 生成条形码,保存成图片,使用ZXing。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

转载于作者Lucas汪星人:https://www.jianshu.com/p/9955b4f27501

在原先作者的基础上根据我自己修改了一些代码仅供参考:

首先需要引用NuGet包:ZXing.Net.Bindings.ZKWeb.System.Drawing

也可以使用终端开发者PowerShell使用指令安装:dotnet add package ZXing.Net.Bindings.ZKWeb.System.Drawing

然后可以自己去写一个Demo创建一个MVC控制器写入以下代码:

/// <summary>
        /// 生成条形码,保存成图片,使用了ZXing
        /// </summary>
        public IActionResult GenerateQRimage(string content)//public static byte[] GenerateQRimage(string content)
        {
            //初始化条形码格式,宽高,以及PureBarcode=true则不会留白框
            var writer = new BarcodeWriterPixelData
            {
                Format = BarcodeFormat.CODE_128,//编码格式CODE_128或者CODABAR
                Options = new EncodingOptions { Height = 31, Width = 167, PureBarcode = true, Margin = 1 }
            };
            var pixelData = writer.Write(content);
            using (var bitmap = new System.DrawingCore.Bitmap(pixelData.Width, pixelData.Height, PixelFormat.Format32bppRgb))
            using (var ms = new MemoryStream())
            {
                var bitmapData = bitmap.LockBits(new System.DrawingCore.Rectangle(0, 0, pixelData.Width, pixelData.Height),
                   System.DrawingCore.Imaging.ImageLockMode.WriteOnly, System.DrawingCore.Imaging.PixelFormat.Format32bppRgb);
                try
                {
                    // we assume that the row stride of the bitmap is aligned to 4 byte multiplied by the width of the image
                    System.Runtime.InteropServices.Marshal.Copy(pixelData.Pixels, 0, bitmapData.Scan0,
                       pixelData.Pixels.Length);
                }
                finally
                {
                    bitmap.UnlockBits(bitmapData);
                }
                // save to stream as PNG
                bitmap.Save(ms, System.DrawingCore.Imaging.ImageFormat.Png);
                System.DrawingCore.Image image = System.DrawingCore.Bitmap.FromStream(ms, true);
                image.Save("D:\\2010-asmart-healthcare\\SmartHealthcare\\SmartHealthcare.Web\\wwwroot\\barcodeimg\\" + content + ".png");
                byte[] bytes = ms.GetBuffer();
                if (bytes != null)
                {
                    return Ok("生成成功");
                }
                else
                {
                    return Ok("生成失败");
                }

            }
        }

在这段代码中要注意引用的命名空间,如:System.DrawingCore 具体的情况请在使用到你的项目中去解决大概率就是命名空间的原因,还有代码中

image.Save("D:\\2010-asmart-healthcare\\SmartHealthcare\\SmartHealthcare.Web\\wwwroot\\barcodeimg\\" + content + ".png");具体的路径可以自己去自定义,比如可以保存到你自己的电脑文件夹中,改路径就行了。

然后创建一个MVC视图也是写一个小Demo去测试,代码如下:

@{
    Layout = null;
}
<div>
    <header>
        <button id="imgOn">生成条形码</button>
        @*url: '/BarCode/GetBarCode?message=' + message + "&gifFileName=" + "D:/test/test.gif" + "&width=" + 100 + "&height=" + 50,*@
    </header>
</div>
<script src="~/lib/jquery/dist/jquery.min.js"></script>
<script src="~/lib/jquery/dist/jquery.js"></script>
<script>
    $("#imgOn").click(function () {
        var message = "456789";
        $.ajax({
            url: '/BarCode/GenerateQRimage?content=' + message,
            type: 'get',
            success: function (res) {
                console.log(res);
            }
        })
    })
</script>

代码中的message可以自定义条形码中扫描出来的具体内容 比如我在代码中写的456789,那么我扫描条形码识别出来的内容就是456789

后端接受的参数名字叫content,具体的实现就需要结合具体的业务。

然后就可以生成条形码了。文章来源地址https://www.toymoban.com/news/detail-603103.html

到了这里,关于使用.Net Core 生成条形码,保存成图片,使用ZXing的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Java】批量生成条形码-itextpdf

    批量生成条形码 Controller Service

    2024年02月12日
    浏览(37)
  • JS 生成条形码(一维码)jsBarcode

    script 引入 地址:https://cdn.jsdelivr.net/npm/jsbarcode@3.11.5/dist/JsBarcode.all.min.js 也可以进官网查看地址。 npm方式 安装: 页面引入: HTML部分加入svg容器 JS 代码部分 三、结果 参数设置(options) option 默认值 类型 说明 format “auto” (CODE128) String 条形码的类型 width 2 Number 每个条条的宽

    2024年01月20日
    浏览(41)
  • java生成、识别条形码和二维码

    使用 zxing 开源库 Zxing主要是Google出品的,用于识别一维码和二维码的第三方库 主要类: BitMatrix 位图矩阵 MultiFormatWriter 位图编写器 MatrixToImageWriter 写入图片 可以生成、识别条形码和二维码 内置三种尺寸: enum Size {SMALL, MIDDLE, BIG} 依赖 将宽度不等的多个黑条和白条,按照一定

    2024年02月08日
    浏览(52)
  • 【Android】实现生成二维码、条形码和扫描二维码的功能

    目录 一、添加依赖 二、布局文件 三、实现生成二维码的功能 四、效果图 要先添加一个第三方库来实现二维码的生成以及扫描二维码的功能,开源库如下: 在build.grade(Moudle)中添加依赖: 效果如下: activity_main.xml: MainActivity.java: 简单粗暴! 感谢ლ(°◕‵ƹ′◕ლ)!!!

    2024年02月11日
    浏览(65)
  • H5实现扫码读取二维码条形码功能(二维码+条形码)

    本文主要介绍二维码实现的原理 1、使用插件 npm install @zxing/library 2、主要用到 BrowserMultiFormatReader 这个构造函数,用于打开摄像头 视图 核心代码(以vue3写法举例) 二维码的样式 ``

    2024年02月11日
    浏览(54)
  • opencv_04条形码区域分割

    基于OpenCV的条形码区域分割 要基于OpenCV实现条形码区域分割,可以按照以下步骤进行: 加载图像:使用OpenCV中的imread函数读取待处理图像。 灰度化:使用OpenCV中的cvtColor函数将彩色图像转换为灰度图像。 边缘检测:使用OpenCV中的Canny函数对灰度图像进行边缘检测,得到二值

    2024年02月06日
    浏览(42)
  • 【MAUI】条形码,二维码扫描功能

    本系列文章面向移动开发小白,从零开始进行平台相关功能开发,演示如何参考平台的官方文档使用MAUI技术来开发相应功能。 移动端的扫描条形码、二维码的功能已经随处可见,已经很难找到一个不支持扫描的App了,但是微软的MAUI竟然没有提供,那么我们应该如何实现呢?

    2024年02月04日
    浏览(43)
  • opencv检测二维码和条形码

    使用excel可以实现制作二维码,但只能实现做英文和数字类型的,步骤如下: 在任意单元格输入内容 选项卡里找到开发工具—插入—点击ActiveX控件的最右下角。 弹出的窗口内,往下滑动选择Microsoft BarCode Control 16.0后,点击确定。 在任意区域,摁住鼠标左键不放,拖动鼠标,

    2024年02月10日
    浏览(55)
  • opencv实战--角度测量和二维码条形码识别

    首先导入一个带有角度的照片 然后下面的代码注册了一个鼠标按下的回调函数, 还有一个点的数列,鼠标事件为按下的时候就记录点,并画出点,由于点是画在图像上面的,那么就要求了img是需要刷新的所以将他们放在while True里面 当有按键按下的的时候就把图片归为原来的

    2024年02月16日
    浏览(61)
  • Python Opencv实践 - 二维码和条形码识别

            使用pyzbar模块来识别二维码和条形码。ZBar是一个开源软件,用来从图像中读取条形码,支持多种编码,比如EAN-13/UPC-A、UPC-E、EAN-8、代码128、代码39、交错2/5以及二维码。         pyzbar是python封装ZBar的模块,我们用它来做条形码和二维码的识别。         安装方法:

    2024年02月04日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包