ZXing的精简版,优化扫码和生成二维码/条形码功能,让集成更简单

ZXingLite

Image

Download  CI API License Blog

ZXingLite for Android 是ZXing的精简版,优化扫码和生成二维码功能,扫码界面支持完全自定义,让集成更简单。

Gif 展示

Image

ViewfinderView属性说明

属性值类型默认值说明
maskColorcolor#60000000扫描区外遮罩的颜色
frameColorcolor#7F1FB3E2扫描区边框的颜色
cornerColorcolor#FF1FB3E2扫描区边角的颜色
laserColorcolor#FF1FB3E2扫描区激光线的颜色
resultPointColorcolor#C0EFBD21扫描区结果点的颜色
textstring 扫描提示文本信息
textColorcolor#FFC0C0C0提示文本字体颜色
textSizedimension14sp提示文本字体大小
textPaddingdimension24dp提示文本距离扫描区的间距
textLocationenumtop提示文本信息显示的位置

引入

Maven:

<dependency>
  <groupId>com.king.zxing</groupId>
  <artifactId>zxing-lite</artifactId>
  <version>1.0.0</version>
  <type>pom</type>
</dependency>

Gradle:

implementation 'com.king.zxing:zxing-lite:1.0.0'

Lvy:

<dependency org='com.king.zxing' name='zxing-lite' rev='1.0.0'>
  <artifact name='$AID' ext='pom'></artifact>
</dependency>

如果Gradle出现compile失败的情况,可以在Project的build.gradle里面添加如下:(也可以使用上面的GitPack来complie)

allprojects {
    repositories {
        maven { url 'https://dl.bintray.com/jenly/maven' }
    }
}

引入的库:

compileOnly 'com.android.support:appcompat-v7:27.1.1'
api 'com.com.google.zxing:core:3.3.3'

示例

布局示例 (可自定义布局,布局内至少要保证有SurfaceView和ViewfinderView,控件id可根据重写CaptureActivity 的 getPreviewViewId 和 getViewFinderViewId方法自定义)

    <merge xmlns:android="http://schemas.android.com/apk/res/android">
        <SurfaceView
            android:id="@+id/preview_view"
            android:layout_width="match_parent"
            android:layout_height="match_parent"/>
        <com.king.zxing.ViewfinderView
            android:id="@+id/viewfinder_view"
            android:layout_width="match_parent"
            android:layout_height="match_parent"/>
    </merge>

代码示例 (二维码/条形码)

    //生成二维码
    CodeUtils.createQRCode(content,600,logo);
    //生成条形码
    CodeUtils.createBarCode(content, BarcodeFormat.CODE_128,800,200);

项目地址:https://github.com/jenly1314/ZXingLite

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
zxing-js是一个JavaScript库,用于在Web浏览器中进行二维码的生成和解码。 使用zxing-js库非常简单。首先,您需要在您的网页中引入zxing-js库的JavaScript文件。然后,您可以使用以下代码创建一个二维码: ```javascript // 导入所需的类 import { BarcodeFormat, EncodeHintType } from '@zxing/library'; // 创建一个Canvas元素 const canvas = document.createElement('canvas'); // 生成二维码 ZXing.QRCodeWriter.encode('Hello World', BarcodeFormat.QR_CODE, 200, 200, { hints: new Map([[EncodeHintType.ERROR_CORRECTION, 0.3]]), }).then(result => { // 渲染二维码到Canvas元素 ZXing.HTMLCanvasElementLuminanceSourceFactory.create(result.getMatrix(), result.getHeight(), result.getWidth()) .then(source => new ZXing.BinaryBitmap(new ZXing.HybridBinarizer(source))) .then(bitmap => { const context = canvas.getContext('2d'); const data = bitmap.getBlackMatrix().getData(); for (let y = 0, yl = result.getHeight(); y < yl; y++) { for (let x = 0, xl = result.getWidth(); x < xl; x++) { context.fillStyle = data[x + y * xl] ? '#000000' : '#ffffff'; context.fillRect(x, y, 1, 1); } } }); }); ``` 以上代码将生成一个包含"Hello World"文本的二维码,并将其渲染到一个Canvas元素中。 要解码一个二维码,您可以使用以下代码: ```javascript // 导入所需的类 import { MultiFormatReader } from '@zxing/library'; // 创建一个Image对象 const image = new Image(); // 加载包含二维码的图像 image.src = 'image.jpg'; // 解码二维码 image.onload = () => { const canvas = document.createElement('canvas'); const context = canvas.getContext('2d'); canvas.width = image.width; canvas.height = image.height; context.drawImage(image, 0, 0); const luminanceSource = new ZXing.HTMLCanvasElementLuminanceSource(canvas); const binaryBitmap = new ZXing.BinaryBitmap(new ZXing.HybridBinarizer(luminanceSource)); const reader = new MultiFormatReader(); const result = reader.decode(binaryBitmap); console.log('解码结果:', result.getText()); }; ``` 以上代码将加载一个包含二维码的图像,并将其解码为文本。解码结果将作为控制台输出。 总之,zxing-js库提供了方便的方法来生成和解码二维码。您可以使用简单的JavaScript代码完成这些任务,并在Web浏览器中实现二维码的生成和解码功能
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值