Zxing的使用

    public void click(View view) {
        String str = et.getText().toString().trim();
        if (TextUtils.isEmpty(str)) {
            Toast.makeText(this, "数据不能为空!!!", Toast.LENGTH_SHORT).show();
        } else {
            try {
                Bitmap bitmap = BitmapUtils.create2DCode(str);
                iv.setImageBitmap(bitmap);
            } catch (WriterException e) {
                e.printStackTrace();
            }
        }
    }

 

  • 二维码zxing使用-扫码
    public void click(View view) {
        Intent intent = new Intent(this, CaptureActivity.class);
        startActivityForResult(intent,rc);
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (requestCode==rc){
            String qrcode_result = data.getStringExtra("qrcode_result");
            tv.setText(qrcode_result);
            if (qrcode_result.contains("http")){
                 /*      <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
            <data android:scheme="http" />
            <data android:scheme="https" />
            <data android:scheme="about" />
            <data android:scheme="javascript" />
        </intent-filter>*/
                Intent intent = new Intent();
                intent.setAction("android.intent.action.VIEW");
                intent.addCategory("android.intent.category.DEFAULT");
                intent.addCategory("android.intent.category.BROWSABLE");
                intent.setData(Uri.parse("http:"+qrcode_result));
                startActivity(intent);
            }
        }
    }

 

  • 二维码zxing使用-处理扫码结果
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (requestCode==rc){
            String qrcode_result = data.getStringExtra("qrcode_result");
            tv.setText(qrcode_result);
            if (qrcode_result.contains("http")){
                 /*      <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
            <data android:scheme="http" />
            <data android:scheme="https" />
            <data android:scheme="about" />
            <data android:scheme="javascript" />
        </intent-filter>*/
                Intent intent = new Intent();
                intent.setAction("android.intent.action.VIEW");
                intent.addCategory("android.intent.category.DEFAULT");
                intent.addCategory("android.intent.category.BROWSABLE");
                intent.setData(Uri.parse("http:"+qrcode_result));
                startActivity(intent);
            }
        }
    }

 

转载于:https://www.cnblogs.com/nangongyibin/p/10391144.html

### C# 中使用 ZXing 库的教程与示例 #### 集成 ZXing.Net 的基本流程 为了在 C# 项目中利用 ZXing.Net 来生成和读取条形码或二维码,需完成以下几个方面的操作: 1. **安装 ZXing.Net** 可通过 NuGet 包管理器安装 `ZXing.Net` 或者其依赖项。运行以下命令即可完成安装: ```bash Install-Package ZXing.Net ``` 2. **生成条形码** 下面展示了一个简单的例子,说明如何生成一条标准的一维条形码(Code 128)。此代码片段展示了创建编码对象并将其保存为图片文件的过程。 ```csharp using System; using System.Drawing; using ZXing; class Program { static void Main(string[] args) { var writer = new BarcodeWriter(); writer.Format = BarcodeFormat.CODE_128; // 设置条形码格式为 Code 128 [^3] writer.Options.Width = 300; // 定义宽度 writer.Options.Height = 100; // 定义高度 string barcodeData = "SampleBarcode"; // 要编码的数据字符串 Bitmap bitmap = writer.Write(barcodeData); // 将生成的位图保存至本地路径 bitmap.Save("barcode.png", System.Drawing.Imaging.ImageFormat.Png); } } ``` 3. **生成二维码** 类似于条形码的生成过程,以下是生成 QR 码的一个实例。这里还演示了如何调整颜色以及边距选项。 ```csharp using System; using System.Drawing; using ZXing; using ZXing.QrCode; class QrProgram { static void Main() { var qrCodeWriter = new BarcodeWriter { Format = BarcodeFormat.QR_CODE, Options = new EncodingOptions { Width = 400, Height = 400, Margin = 1 } }; // 自定义大小及边界空白区域 qrCodeWriter.Renderer = new BitmapRenderer(); // 渲染方式指定为Bitmap qrCodeWriter.BlackWhiteMode = true; // 黑白模式开启 string dataToEncode = "http://example.com"; Bitmap qrImage = qrCodeWriter.Write(dataToEncode); // 输出QR码图像到磁盘上 qrImage.Save("qrcode.png", System.Drawing.Imaging.ImageFormat.Png); } } ``` 4. **解码条形码/二维码** 解析已有的条形码或者二维码可以通过加载图片资源来实现。下面给出了一段基础的解析逻辑。 ```csharp using System; using ZXing; public class DecodeExample { public static void RunDecode() { IBarcodeReader reader = new BarcodeReader(); // 加载包含条码的图像文件 var result = reader.Decode((Bitmap)System.Drawing.Bitmap.FromFile(@"path_to_image")); if (result != null){ Console.WriteLine($"Found: {result.Text}"); }else{ Console.WriteLine("No code found."); } } } ``` 以上内容涵盖了从环境搭建到实际应用的核心部分[^1][^2]。 --- ####
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值