精华内容
下载资源
问答
  • 必备 QR扫描QR码阅读 QR码生成应用 for Android
  • QR扫描仪和生成 QR扫描仪和生成此应用程序是使用Google视觉api创建的,用于检测条形码,并使用zxing库生成二维码。 它还检测与条形码相关的不同类型的活动,例如要拨打的电话号码,打开URL的链接等。 它还存储...
  • 移动HTML5QRScan 基于 HTML5 的 QR 阅读,用于从您的智能手机在网络上进行 QR 扫描
  • QR扫描仪生成 完整的QR扫描仪生成,在PHP和MYSQL中..无需登录....
  • 今天的博客文章分为四个部分。 在第一部分中,我将向您展示如何安装ZBar库 (使用Python绑定)。 ZBar库将与OpenCV一起用于扫描和解码条形码和QR码。...最后,我将演示如何将我们的实时条形码扫描器部署到...

    pip 安装 opencv 教程 https://hotdog29.com/?p=550

    今天的博客文章分为四个部分。

    在第一部分中,我将向您展示如何安装ZBar库 (使用Python绑定)。

    ZBar库将与OpenCV一起用于扫描和解码条形码和QR码。

    一旦正确配置了ZBar和OpenCV,我将演示如何在单个图像中扫描条形码和QR码。

    从单个图像开始将为我们提供准备下一步所需的练习:使用OpenCV和ZBar实时读取条形码和QR码,

    最后,我将演示如何将我们的实时条形码扫描器部署到Raspberry Pi。

    安装ZBar(使用Python绑定)进行条形码解码

    使用Python 3(官方 zbar Python绑定仅支持Python 2.7)
    检测并准确定位条形码中图像的位置。
    安装必要的软件是一个简单的三步过程。

    步骤1: 从 apt 或 brew 存储库 安装 zbar

    为Ubuntu或Raspbian安装ZBar
    可以使用以下命令完成为Ubuntu安装ZBar:

    $ sudo apt-get install libzbar0
    

    步骤2(可选):创建虚拟环境并安装OpenCV

    你有两个选择:

    使用已准备好OpenCV的现有虚拟环境(跳过此步骤并转到 步骤3)。
    或者创建一个新的,孤立的虚拟环境,包括安装OpenCV。
    虚拟环境是Python开发的最佳实践,我强烈建议您使用它们。:

    标题第3步:安装 pyzbar

    $ pip install pyzbar
    

    如果您尝试将pyzbar安装 到Python的系统版本中,请确保您也使用 sudo 命令。

    在单个图像中使用OpenCV解码条形码和QR码

    在我们实现实时条形码和QR码读取之前,让我们首先从单个图像扫描仪开始

    打开一个新文件,将其命名为 barcode_scanner_image .py 并插入以下代码:

    from pyzbar import pyzbar
    import argparse
    import cv2
    ap = argparse.ArgumentParser()
    ap.add_argument("-i", "--image", required=True,
    	help="path to input image")
    args = vars(ap.parse_args())
    
    

    在 第2-4行,我们导入我们所需的包。

    无论 pyzbar 和 CV2 (OpenCV的)需要按照前一节中的说明进行安装。

    相比之下, argparse 包含在Python安装中,它负责解析命令行参数。

    我们为此脚本(- image )提供了一个 必需的命令行参数, 并在第7-10行进行了解析 。

    您将在本节末尾看到如何在传递包含输入图像路径的命令行参数时运行脚本。

    现在,让我们拍摄输入图像并将pyzbar放入 工作:

    # load the input image
    image = cv2.imread(args["image"])
    
    # find the barcodes in the image and decode each of the barcodes
    barcodes = pyzbar.decode(image)
    

    在 第13行,我们 通过其路径加载输入 图像(包含在我们方便的 args 字典中)。

    从那里,我们称之为 pyzbar 。解码 查找和解码 条码 中 的图像 (第16行)。这就是ZBar的所有魔力发生的地方。

    我们还没有完成 - 现在我们需要解析条形码 变量中包含的信息 :

    # loop over the detected barcodes
    for barcode in barcodes:
    	# extract the bounding box location of the barcode and draw the
    	# bounding box surrounding the barcode on the image
    	(x, y, w, h) = barcode.rect
    	cv2.rectangle(image, (x, y), (x + w, y + h), (0, 0, 255), 2)
    
    	# the barcode data is a bytes object so if we want to draw it on
    	# our output image we need to convert it to a string first
    	barcodeData = barcode.data.decode("utf-8")
    	barcodeType = barcode.type
    
    	# draw the barcode data and barcode type on the image
    	text = "{} ({})".format(barcodeData, barcodeType)
    	cv2.putText(image, text, (x, y - 10), cv2.FONT_HERSHEY_SIMPLEX,
    		0.5, (0, 0, 255), 2)
    
    	# print the barcode type and data to the terminal
    	print("[INFO] Found {} barcode: {}".format(barcodeType, barcodeData))
    
    # show the output image
    cv2.imshow("Image", image)
    cv2.waitKey(0)
    

    从第19行开始,我们遍历检测到的 条形码 。

    在这个循环中,我们继续:

    从条形码中提取边界框 (x,y) -坐标 。矩形 对象(第22行),使我们能够定位和确定,其中在所述输入图像的当前条形码。
    绘制 在检测到的条形码周围的 图像上绘制一个边界框矩形 (第23行)。
    将条形码解码 为 “utf-8” 字符串并提取条形码类型(第27和28行)。打电话是至关重要的 。解码(“utf-8” ) 函数对象将字节数组转换为字符串。您可以通过删除/评论来进行实验,看看会发生什么 - 我会将此作为实验让您尝试。
    在图像上格式化并绘制 barcodeData 和 barcodeType(第31-33行)。
    最后,将相同的数据和类型信息输出到终端以进行调试(第36行)。
    我们来测试我们的OpenCV条形码扫描仪。您应该使用此博客文章底部的 “下载”部分下载代码和示例图像。

    从那里,打开终端并执行以下命令:

    An OpenCV barcode and QR code scanner with ZBarPython

    $ python barcode_scanner_image.py --image barcode_example.png
    [INFO] Found QRCODE barcode: {"author": "Adrian", "site": "PyImageSearch"}
    [INFO] Found QRCODE barcode: https://www.pyimagesearch.com/
    [INFO] Found QRCODE barcode: PyImageSearch
    [INFO] Found CODE128 barcode: AdrianRosebrock
    $ python barcode_scanner_image.py --image barcode_example.png
    [INFO] Found QRCODE barcode: {"author": "Adrian", "site": "PyImageSearch"}
    [INFO] Found QRCODE barcode: https://www.pyimagesearch.com/
    [INFO] Found QRCODE barcode: PyImageSearch
    [INFO] Found CODE128 barcode: AdrianRosebrock
    

    正如您在终端中看到的那样,所有四个条形码都被找到并正确解码!

    有关已处理图像的信息,请参阅 图1,该图像已覆盖红色矩形和我们软件找到的每个条形码的文本。

    使用OpenCV实时读取条形码和QR码
    在上一节中,我们学习了如何为单个图像创建Python + OpenCV条形码扫描程序。

    我们的条形码和QR码扫描仪运行良好 - 但它提出了一个问题,我们可以实时检测和解码条形码+ QR码吗?

    要查找,请打开一个新文件,将其命名为 barcode_scanner_video .py ,然后插入以下代码:

    An OpenCV barcode and QR code scanner with ZBarPython

    # import the necessary packages
    from imutils.video import VideoStream
    from pyzbar import pyzbar
    import argparse
    import datetime
    import imutils
    import time
    import cv2
    
    # construct the argument parser and parse the arguments
    ap = argparse.ArgumentParser()
    ap.add_argument("-o", "--output", type=str, default="barcodes.csv",
    	help="path to output CSV file containing barcodes")
    args = vars(ap.parse_args())
    

    在 第2-8行,我们导入了我们所需的包。

    此时,回想一下上面的解释,你应该识别 pyzbar , argparse 和 cv2 。

    我们还将使用 VideoStream 以高效的线程方式处理捕获视频帧。您可以在此处了解有关VideoStream类的更多信息。如果您 的系统上没有安装 imutils,只需使用以下命令:

    An OpenCV barcode and QR code scanner with ZBarShell

    $ pip install imutils
    

    我们将解析一个 可选的命令行参数 - output ,其中包含输出逗号分隔值(CSV)文件的路径。该文件将包含来自我们视频流的每个检测到的和解码的条形码的时间戳和有效负载。如果未指定此参数,则CSV文件将放在当前工作目录中,名称为 “barcodes.csv” (第11-14行)。

    从那里,让我们初始化我们的视频流并打开我们的CSV文件:

    # initialize the video stream and allow the camera sensor to warm up
    print("[INFO] starting video stream...")
    # vs = VideoStream(src=0).start()
    vs = VideoStream(usePiCamera=True).start()
    time.sleep(2.0)
    
    # open the output CSV file for writing and initialize the set of
    # barcodes found thus far
    csv = open(args["output"], "w")
    found = set()
    

    在 第18行和第19行, 我们初始化并启动我们的 VideoStream 。你可以:

    使用USB网络摄像头(取消注释 第18行和注释 第19行)
    或者,如果您使用Raspberry Pi,您可以使用PiCamera(取消注释 第19行和注释 第18行)。
    我选择使用我的Raspberry Pi PiCamera,如下一节所示。

    然后我们暂停两秒钟,让相机可以预热(第20行)。

    我们将在CSV文件中写入我们找到的所有条形码(但确保不会写入重复项)。这是记录条形码的一个示例。`
    实际操作是任意的 - 我们只是使用CSV文件作为示例。

    您可以随意更新代码以包含您可能希望的任何通知。

    我们 在第24行打开 csv文件进行写入 。如果要修改要附加到文件的代码,只需将第二个参数从 “w” 更改为 “a” (但您必须以不同的方式搜索文件中的重复项)。

    我们还 为 找到的 条形码初始化一 组。此集将包含唯一的条形码,同时防止重复。

    让我们开始捕捉+处理帧:

    # loop over the frames from the video stream
    while True:
    	# grab the frame from the threaded video stream and resize it to
    	# have a maximum width of 400 pixels
    	frame = vs.read()
    	frame = imutils.resize(frame, width=400)
    
    	# find the barcodes in the frame and decode each of the barcodes
    	barcodes = pyzbar.decode(frame)
    

    在 第28行,我们开始循环并继续抓取并调整 视频流中的帧大小 (第31和32行)。

    从那里,我们称之为 pyzbar 。解码 以检测和解码帧中的任何QR +条形码 。

    让我们继续循环检测到的 条形码 :

    	# loop over the detected barcodes
    	for barcode in barcodes:
    		# extract the bounding box location of the barcode and draw
    		# the bounding box surrounding the barcode on the image
    		(x, y, w, h) = barcode.rect
    		cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 0, 255), 2)
     
    		# the barcode data is a bytes object so if we want to draw it
    		# on our output image we need to convert it to a string first
    		barcodeData = barcode.data.decode("utf-8")
    		barcodeType = barcode.type
     
    		# draw the barcode data and barcode type on the image
    		text = "{} ({})".format(barcodeData, barcodeType)
    		cv2.putText(frame, text, (x, y - 10),
    			cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 0, 255), 2)
     
    		# if the barcode text is currently not in our CSV file, write
    		# the timestamp + barcode to disk and update the set
    		if barcodeData not in found:
    			csv.write("{},{}\n".format(datetime.datetime.now(),
    				barcodeData))
    			csv.flush()
    			found.add(barcodeData)
    

    如果您阅读上一节,此循环应该看起来非常熟悉。

    实际上, 线38-52 是相同的那些 单个图像脚本。有关此代码块的详细介绍,请参阅单图像条形码检测和扫描部分。

    56-60行是新的。在这些行中,我们检查是否找到了唯一的(以前未找到的)条形码(第56行)。

    如果是这种情况,我们会将时间戳和数据写入 csv 文件(第57-59行)。我们还将barcodeData附加 到 find 集合,作为处理重复项的简单方法。

    在实时条形码扫描器脚本的其余行中,我们显示框架,检查是否按下了退出键,并执行清理:

    # close the output CSV file do a bit of cleanup
    print("[INFO] cleaning up...")
    csv.close()
    cv2.destroyAllWindows()
    vs.stop()
    	# show the output frame
    	cv2.imshow("Barcode Scanner", frame)
    	key = cv2.waitKey(1) & 0xFF
     
    	# if the `q` key was pressed, break from the loop
    	if key == ord("q"):
    		break
    

    在 第63行,我们显示输出 帧 。

    然后在 第64-68行,我们检查键,如果 按下“q”,我们就会 跳出 主执行循环。

    最后,我们在第72-74行进行清理 。

    $ python barcode_scanner_video.py
    [INFO] starting video stream...
    

    现在可以呈现条形码到相机,当你完成后,可以打开 条形码的.csv 文件(或者如果你愿意可以执行

    tail -f barcodes.csv
    

    在单独的终端查看的数据,因为它实时输入CSV文件

    文章出处:https://www.pyimagesearch.com/2018/05/21/an-opencv-barcode-and-qr-code-scanner-with-zbar/

    项目源代码下载连接:http://t.dripemail2.com/c/eyJhY2NvdW50X2lkIjoiNDc2ODQyOSIsImRlbGl2ZXJ5X2lkIjoiNDk0MzYzNDU0OSIsInVybCI6Imh0dHA6Ly9weWltZy5jby91czFmYT9fX3M9MXVnZ2ZucnpnNGFzamthZHpyYzMifQ

    感谢 Adrian Rosebrock

    pip 安装 opencv 教程 https://hotdog29.com/?p=550

    展开全文
  • 在之上构建的React Native的QR扫描器组件 请注意,由于上述支持条形码扫描的模块,它也可以用作通用条形码扫描仪,但是,此模块最初是作为QR码扫描仪构建的。 该模块最初是由于作者无法找到无需简单设置即可直接...
  • Cordova 二维码扫描器和阅读器演示 先决条件:安装 NodeJs、Cordova、Phonegap。 cordova create qrcode com.example.qrcode " QrCode " cd qrcode cordova platform add android cordova plugin add ...
  • 由于原本的元件在扫描时,扫描器在Decode的频率上没有进行管况,所以当开启扫描器时,大量的处理扫描器Decode的Request ,导致若当前的Layout有其它的UI时,就会出现延迟的情况。 (2) 开发人员可以自行决定扫描器的...
  • 5.7使用Google ZXing条形码扫描器扫描条形码或QR码 问题 您希望应用程序能够扫描条形码或QR码(“QR”原本代表“快速反应”)。 解 使用Intent访问由Google ZXing条形码扫描器公开的扫描功能。 讨论 Android的一个...
    5.7使用Google ZXing条形码扫描器扫描条形码或QR码

    问题
    您希望应用程序能够扫描条形码或QR码(“QR”原本代表“快速反应”)。

    使用Intent访问由Google ZXing条形码扫描器公开的扫描功能。
    讨论
    Android的一个伟大的功能是它是多么容易利用现有的功能。扫描条形码和QR码是一个很好的例子。 Google有一个免费的扫描应用程序,您可以通过意图访问;因此应用程序可以轻松添加扫描功能,开放新的界面,通信和功能的可能性。
    此配方中的程序是如何通过Intent访问Google条码扫描器的示例。确保已安装Google条码扫描器(https://market.android.com/details?id=com.google.zxing.client.android)。在图中,有三个按钮,让用户选择扫描QR码,产品条形码或其他东西。有两个TextView用于显示扫描的条形码类型及其包含的数据。布局是常规的:一个垂直的LinearLayout,所以我们不需要在这里重现它。


    活动代码如例5-16所示;根据按下哪个按钮,程序在启动ZXing活动之前将相关参数放入Intent,并等待结果。
    实例5-16。扫描程序主活动
    public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    }
    public void HandleClick(View arg0) {
    Intent intent = new Intent("com.google.zxing.client.android.SCAN");
    switch(arg0.getId()){
    case R.id.butQR:
    intent.putExtra("SCAN_MODE", "QR_CODE_MODE");
    break;
    case R.id.butProd:
    intent.putExtra("SCAN_MODE", "PRODUCT_MODE");
    break;
    case R.id.butOther:
    intent.putExtra("SCAN_FORMATS", "CODE_39,CODE_93,CODE_128,DATA_MATRIX,ITF,CODABAR");
    break;
    }
    try {
    startActivityForResult(intent, 0); //Barcode Scanner to scan for us
    } catch (ActivityNotFoundException e) {
    Toast.makeText(this, "Please install the ZXing Barcode Scanner app", Toast.LENGTH_LONG).show();
    }
    }
    public void onActivityResult(int requestCode, int resultCode, Intent intent) {
    if (requestCode == 0) {
    TextView tvStatus=(TextView)findViewById(R.id.tvStatus);
    TextView tvResult=(TextView)findViewById(R.id.tvResult);
    if (resultCode == RESULT_OK) {
    tvStatus.setText(intent.getStringExtra("SCAN_RESULT_FORMAT"));
    tvResult.setText(intent.getStringExtra("SCAN_RESULT"));
    } else if (resultCode == RESULT_CANCELED) {
    tvStatus.setText("Press a button to start a scan.");
    tvResult.setText("Scan cancelled.");
    }
    }
    }
    }

    注意,在下面的表格中,如何可以扫描条形码族(使用SCAN_MODE)或特定类型的条形码(使用SCAN_FORMATS)。如果知道正在解码什么类型的条形码,则将扫描格式设置为该特定类型可以导致更快的解码(它不会试图运行通过所有条形码解码算法)。例如,您可以使用intent.putExtra(“SCAN_FORMATS”,“CODE_39”)。要使用多个SCAN_FORMATS,您需要传递逗号分隔的列表;请参见示例5-16。


    现在去,使扫描库存控制或杂货列表应用程序,你一直在想!
    展开全文
  • Android 系列 5 7使用Google ZXing条形码扫描器扫描条形码或QR

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

    也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

                    5.7使用Google ZXing条形码扫描器扫描条形码或QR码

    问题
    您希望应用程序能够扫描条形码或QR码(“QR”原本代表“快速反应”)。

    使用Intent访问由Google ZXing条形码扫描器公开的扫描功能。
    讨论
    Android的一个伟大的功能是它是多么容易利用现有的功能。扫描条形码和QR码是一个很好的例子。 Google有一个免费的扫描应用程序,您可以通过意图访问;因此应用程序可以轻松添加扫描功能,开放新的界面,通信和功能的可能性。
    此配方中的程序是如何通过Intent访问Google条码扫描器的示例。确保已安装Google条码扫描器(https://market.android.com/details?id=com.google.zxing.client.android)。在图中,有三个按钮,让用户选择扫描QR码,产品条形码或其他东西。有两个TextView用于显示扫描的条形码类型及其包含的数据。布局是常规的:一个垂直的LinearLayout,所以我们不需要在这里重现它。


    活动代码如例5-16所示;根据按下哪个按钮,程序在启动ZXing活动之前将相关参数放入Intent,并等待结果。
    实例5-16。扫描程序主活动
    public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}public void HandleClick(View arg0) {Intent intent = new Intent("com.google.zxing.client.android.SCAN");switch(arg0.getId()){case R.id.butQR:intent.putExtra("SCAN_MODE", "QR_CODE_MODE");break;case R.id.butProd:intent.putExtra("SCAN_MODE", "PRODUCT_MODE");break;case R.id.butOther:intent.putExtra("SCAN_FORMATS", "CODE_39,CODE_93,CODE_128,DATA_MATRIX,ITF,CODABAR");break;}try {startActivityForResult(intent, 0); //Barcode Scanner to scan for us} catch (ActivityNotFoundException e) {Toast.makeText(this, "Please install the ZXing Barcode Scanner app", Toast.LENGTH_LONG).show();}}public void onActivityResult(int requestCode, int resultCode, Intent intent) {if (requestCode == 0) {TextView tvStatus=(TextView)findViewById(R.id.tvStatus);TextView tvResult=(TextView)findViewById(R.id.tvResult);if (resultCode == RESULT_OK) {tvStatus.setText(intent.getStringExtra("SCAN_RESULT_FORMAT"));tvResult.setText(intent.getStringExtra("SCAN_RESULT"));} else if (resultCode == RESULT_CANCELED) {tvStatus.setText("Press a button to start a scan.");tvResult.setText("Scan cancelled.");}}}}

    注意,在下面的表格中,如何可以扫描条形码族(使用SCAN_MODE)或特定类型的条形码(使用SCAN_FORMATS)。如果知道正在解码什么类型的条形码,则将扫描格式设置为该特定类型可以导致更快的解码(它不会试图运行通过所有条形码解码算法)。例如,您可以使用intent.putExtra(“SCAN_FORMATS”,“CODE_39”)。要使用多个SCAN_FORMATS,您需要传递逗号分隔的列表;请参见示例5-16。


    现在去,使扫描库存控制或杂货列表应用程序,你一直在想!           

    给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow

    这里写图片描述
    展开全文
  • SlowQR允许从图像扫描QR码。 对于失真代码,可以进行一些手动交互。 由于缺少硬件加速的图形支持,因此自动识别可能会变慢,因此得名。 新功能:-创建/编辑QR码。 -具有透视图的图像支持-可选的实验性屏幕外硬件加速...
  • 您需要一个组件,用于从基于Web浏览器的应用程序扫描QR码。 兼容性 该组件已在以下浏览器中经过测试: Chrome Mac OS和Android Firefox Mac OS和Android Safari Mac OS和IOS 由于该库在内部使用了钩子,因此您...
  • 简单的QR扫描仪和生成(Apple API) 支持平台 iOS 7.0的常用功能。 iOS 8.0用于本地图片解码。 [和设备限制:以上设备的iPhone 5S支持此功能(包括5S)] 安装 将FCQRCodeScanner文件夹拖到您的项目中。 ...
  • 实用的QR码解码 用USB接口即可实现
  • Android_条码扫描器_一维条形码_二维QR码_apk_源码
  • hl=zh-CN修复网址太长不能生成的缺陷,增大了气泡弹窗根据当前页面的 URL 生成 QR 码根据当前 Tab 窗口 URL 生成 QR 码,支持在移动端打开、扫描分享到微信等。* Share to WeChat: Use WeChat's Mobile client to ...
  • 根据当前 Tab 窗口 URL 生成 QR 码,支持在移动端打开、扫描分享到微信等。* Share to WeChat: Use WeChat's Mobile client to scan two-dimensional code sharing page to the micro-channel circle of friends.* ...
  • 二维码扫描仪 这是带有Room Database的简单QR码扫描仪。 100%用Kotlin编写。 应用功能: 扫描任何QR码或条形码。 自动保存在本地数据库中。...条形码扫描器 房间数据库 Google Material Design Stetho
  • 从任何文本生成QR码(网址,信息,号码等) 快速QR码生成是一个方便的插件,从任何文本(网址,...2.手机上有大量的QR扫描仪,例如用于Android的QR Droid:trade_mark:和用于iPhone的QR Reader。 支持语言:English
  • 二维码扫描器

    2014-06-22 19:48:01
    基于DirectShow的摄像头二维码扫描软件,类似条码枪功能,条码自动发送到输入焦点,免费版只提供QR扫描
  • QR Blank - QR Code URL 扫描器App
  • 二维码生成生成一个二维码,并把它放在当前页面,以便于扫描。 如果你必须去,只需点击图标,然后... QR Code Generator生成一个QR Code并将其放在当前页面上,以便轻松进行扫描和移动。 如果必须去,只需单击图标...
  • 支持HTML5的浏览器JavaScript QR Code扫描器。 该库基于的java实现。 该库由GWT自动从原始源进行编译,并了以使用html canvas元素。 公共api的导出是通过。 现场演示 如何使用 将目录中的所有文件放在服务器上。 ...
  • 快速QR阅读查看插件在发布中查看iOS和Android的Flutter插件,允许访问设备相机以扫描多种类型的代码(QR,P快速QR阅读查看插件在发布中查看的iOS和Android的Flutter插件,允许访问iOS和Android。设备摄像头可...
  • 免费二维码生成-创建和分享你自己的二维码。 免费的QR码生成-创建和共享自己的QR码来自www.free-qrcode-generator.com的此插件可帮助您根据自由文本,...运行程序QR Scanner扫描代码[QR Reader Google Play应用:...
  • 离线QR码生成使您无需连接到互联网即可在本地生成QR码!在您的iOS / Android设备上使用任何“ QR Code”扫描仪! -立即生成QR码! -无需互联网连接-大型QR码大小(400x400)-无服务器延迟-快速简便的打开/关闭弹出...
  • NativeScript BarcodeScanner :light_bulb: 插件版本4.0.0+与NativeScript 7+兼容。 如果您需要定位较早的NativeScript版本,请坚持使用插件版本3.4.2。 :warning: 如果您的应用在iOS上的4.x版本崩溃,请尝试将...

空空如也

空空如也

1 2 3 4 5 ... 18
收藏数 350
精华内容 140
关键字:

qr扫描器