当前位置: 首页 > news >正文

【HarmonyOS NEXT 】鸿蒙generateBarcode (码图生成)

本模块支持将字符串转换为二维码或条形码,目前已支持的码制式为EAN-8、EAN-13、UPC-A、UPC-E、Codabar、Code 39、Code 93、Code 128、ITF-14、QR Code、Data Matrix、PDF417、Aztec。暂时不支持多功能码生成。

起始版本:4.1.0(11)

导入模块

import { generateBarcode } from '@kit.ScanKit';

ErrorCorrectionLevel

纠错率枚举。

系统能力:SystemCapability.Multimedia.Scan.GenerateBarcode

起始版本4.1.0(11)

名称

说明

LEVEL_L

0

7%纠错率。

LEVEL_M

1

15%纠错率。

LEVEL_Q

2

25%纠错率。

LEVEL_H

3

30%纠错率。

generateBarcode.createBarcode

createBarcode(content: string, options: CreateOptions): Promise<image.PixelMap>

码图生成,使用Promise异步回调返回生成的码图。

系统能力:SystemCapability.Multimedia.Scan.GenerateBarcode

起始版本4.1.0(11)

参数:

参数名

类型

必填

说明

content

string

码内容字符串,参数限制请参见content参数限制条件。

options

CreateOptions

用于设置生成码图的参数。

返回值:

类型

说明

Promise<image.PixelMap>

Promise对象,返回生成的码图对象。

错误码:

以下错误码的详细介绍请参见ArkTS API错误码。

错误码ID

错误信息

401

Parameter error.

1000500001

Internal error.

示例:

import { image } from '@kit.ImageKit';
import { scanCore, generateBarcode } from '@kit.ScanKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';// 以QR码为例,码图生成参数
let content: string = 'Huawei@HMSCore';
let options: generateBarcode.CreateOptions = {scanType: scanCore.ScanType.QR_CODE,height: 200,width: 200
}
// 码图生成接口,成功返回PixelMap格式图片
generateBarcode.createBarcode(content, options).then((result: image.PixelMap) => {hilog.info(0x0001, '[Scan Sample]', `Succeeded in getting PixelMap by promise with options, result is ${JSON.stringify(result)}`);
}).catch((error: BusinessError) => {hilog.error((0x0001, '[Scan Sample]', `Failed to get PixelMap by promise with options. Code: ${error.code}, message: ${error.message}`);
})

content参数限制条件:

生成码类型

参数建议内容

QR Code

支持中文,建议不超过512字符长度,如果内容过长会导致码复杂,影响识别。

Aztec

支持中文,建议不超过512字符长度,如果内容过长会导致码复杂,影响识别。

PDF417

支持中文,建议不超过512字符长度,如果内容过长会导致码复杂,影响识别。

Data Matrix

建议不超过512字符长度,如果内容过长会导致码复杂,影响识别。

UPC-A

支持11位数字输入,只支持数字,生成包含12位数字的码图,包含最后一位校验数字。

UPC-E

支持7位数字输入,只支持数字,首位需要是0或1,生成包含8位数字的码图,包含最后一位校验数字。

ITF-14

支持80位以内数字输入,并且需要是偶数位,只支持数字,生成包含偶数位数字的码图,如果内容过长会导致码复杂,影响识别。

EAN-8

支持7位数字输入,只支持数字,生成包含8位数字的码图,包含最后一位校验数字。

EAN-13

支持12位数字输入,只支持数字,首位不可以是0,生成包含13位数字的码图,包含最后一位校验数字

Code 39

建议不超过80字节长度,字符集可以是数字、大小写字母和- . $ / + % * SPACE英文格式符号(请注意:一个小写字母占用2个字节)。

Code 93

建议不超过80字节长度,字符集可以是数字、大小写字母和- . $ / + % * SPACE英文格式符号(请注意:一个小写字母占用2个字节)。

Code 128

建议不超过80字节长度,字符集可以是数字、大小写字母和- . $ / + % * SPACE英文格式符号(请注意:一个小写字母占用1个字节)。

Codabar

建议不超过512字符长度,起始/终止符可以是ABCD中的任一个(特殊情况下,TN*E也会编码成ABCD,推荐使用ABCD)。其他字符可以是数字和- . $ / : +英文格式符号。

generateBarcode.createBarcode

createBarcode(content: string, options: CreateOptions, callback: AsyncCallback<image.PixelMap>): void

码图生成,使用Callback异步回调返回生成的码图。

系统能力:SystemCapability.Multimedia.Scan.GenerateBarcode

起始版本:4.1.0(11)

参数:

参数名

类型

必填

说明

content

string

码内容字符串。参数限制请参见content参数限制条件。

options

CreateOptions

用于设置生成码图的参数。

callback

AsyncCallback<image.PixelMap>

回调函数。当码图生成成功,err为undefined,data为生成的码图对象image.PixelMap;否则为错误对象。

错误码:

以下错误码的详细介绍请参见ArkTS API错误码。

错误码ID

错误信息

401

Parameter error.

1000500001

Internal error.

示例:

import { image } from '@kit.ImageKit';
import { scanCore, generateBarcode } from '@kit.ScanKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';// 以QR码为例,码图生成参数
let content: string = 'Huawei@HMSCore';
let options: generateBarcode.CreateOptions = {scanType: scanCore.ScanType.QR_CODE,height: 200,width: 200
}
// 码图生成接口,成功返回PixelMap格式图片
generateBarcode.createBarcode(content, options, (error: BusinessError, result: image.PixelMap) => {if (error) {hilog.error(0x0001, '[Scan Sample]', `Failed to get PixelMap by callback with options. Code: ${error.code}, message: ${error.message}`);return;}hilog.info(0x0001, '[Scan Sample]', `Succeeded in getting PixelMap by callback with options, result is ${JSON.stringify(result)}`);
})

CreateOptions

生成码参数。

系统能力:SystemCapability.Multimedia.Scan.GenerateBarcode

起始版本:4.1.0(11)

名称

类型

只读

可选

说明

scanType

scanCore.ScanType

码类型。

width

number

码图宽,单位:px。取值范围:[200, 4096]。

height

number

码图高,单位:px。取值范围:[200, 4096]。

margin

number

边距,单位:px,默认值为1,取值范围:[1, 10]。

level

ErrorCorrectionLevel

纠错水平,默认值为LEVEL_H。

注意

此参数只在生成QR码时有效。

backgroundColor

number

生成码图背景颜色,HEX格式颜色,默认为白色(0xffffff)。

pixelMapColor

number

生成码图颜色,HEX格式颜色,默认为黑色(0x000000)。

说明

生成码参数建议:

  • 码图颜色和背景

    建议使用默认颜色和背景:黑色码图、白色背景。如果码图颜色和背景对比度较小会影响识别率。

  • 码图边距

    建议使用默认边距1,单位:px,取值范围:[1, 10]。

  • 码图大小
    1. 生成QR Code、Data Matrix、Aztec类型的码图时,建议输入的width和height值相同且均大于200,否则生成的码图过小会影响识别。
    2. 生成EAN-8、EAN-13、UPC-A、UPC-E、Codabar、Code 39、Code 93、Code 128、ITF-14、PDF417类型的码图时,建议输入的width和height值比例为2:1,并且width值需大于400,否则生成的码图会过小影响识别。

示例:

// 以QR码为例
let options: generateBarcode.CreateOptions = {scanType: scanCore.ScanType.QR_CODE,height: 200,width: 200,backgroundColor: 0xFFFFFF,pixelMapColor: 0x000000,margin: 1,level: generateBarcode.ErrorCorrectionLevel.LEVEL_H
}

内容来源 HarmonyOS NEXT API12 官方文档

相关文章:

【HarmonyOS NEXT 】鸿蒙generateBarcode (码图生成)

本模块支持将字符串转换为二维码或条形码&#xff0c;目前已支持的码制式为EAN-8、EAN-13、UPC-A、UPC-E、Codabar、Code 39、Code 93、Code 128、ITF-14、QR Code、Data Matrix、PDF417、Aztec。暂时不支持多功能码生成。 起始版本&#xff1a;4.1.0(11) 导入模块 import {…...

python测试工程师 之 unittest框架总结

unittest 学习目标unittest 框架的基本使⽤⽅法(组成)断⾔的使⽤ (让程序⾃动的判断预期结果和实际结果是否相符)参数化(多个测试数据, 测试代码写⼀份 传参)⽣成测试报告 复习pythonunittest 框架的介绍核⼼要素(组成)1. TestCase 测试⽤例, 这个测试⽤例是 unittest 的组成部…...

微服务中的相关概念

Eureka Eureka 是由 Netflix 开发的一个服务发现和注册中心&#xff0c;广泛应用于微服务架构中。Eureka 主要用于管理和协调分布式服务的注册和发现&#xff0c;确保各个服务之间能够方便地找到并通信。它是 Netflix OSS&#xff08;Netflix Open Source Software&#xff09…...

常见的设计模式

设计模式是一套被反复使用的、代码设计经验的总结。它们被用来解决软件开发中的某些常见问题&#xff0c;提高代码的可维护性、可扩展性和重用性。设计模式主要分为三大类&#xff1a;创建型模式、结构型模式和行为型模式。以下是一些常见的设计模式及其简要说明&#xff1a; …...

Camtasia2024中文版最新电脑录屏剪辑神器!

大家好&#xff0c;今天我要安利一个我最近超级喜欢的工具——Camtasia2024中文版&#xff01;这款软件真的太棒了&#xff0c;它让我的视频编辑工作变得更加轻松和高效。如果你也对视频制作感兴趣&#xff0c;那么一定要尝试一下这款神器哦&#xff01; Camtasia2024win-正式…...

【性能优化】表分区实践最佳案例

背景 随着数字化建设的持续深入&#xff0c;企业的业务规模迎来了高速发展&#xff0c;其数据规模也呈现爆炸式增长&#xff0c;如果继续使用传统解决方案&#xff0c;将所有数据存储在一个表中&#xff0c;对数据的查询和维护效率将是一个巨大的挑战&#xff0c;在这个背景下…...

力扣SQL50 项目员工 I ROUND AVG

Problem: 1075. 项目员工 I &#x1f468;‍&#x1f3eb; 参考题解 Code select project_id,ROUND(AVG(e.experience_years),2) as average_years FROMproject as p LEFT JOINemployee as e ONp.employee_id e.employee_id GROUP BYp.project_id;...

nuscenes 数据集学习笔记

目录 数据信息类型: 数据信息类型: Map & Camera(png), Lidar(激光雷达) & Radar(雷达)(pcd), Json 文件结构(以v1.0-mini为例): maps: 存放Map的png文件samples: 存放Camera, Lidar, Radar关键非结构化数据信息, 带标注sweeps: 存放Camera, Lidar, Radar 次要非结构…...

在Windows上用MinGW编译OpenCV项目运行全流程

一、准备软件 OpenCV源码CMake工具MinGW工具链&#xff08;需要选用 posix 线程版本&#xff1a;原因见此&#xff09; 二、操作步骤 官网提供了VC16构建版本的二进制包&#xff0c;但是没有给出GCC编译的版本。所以如果使用MinGW进行构建&#xff0c;那就只能从源码开始构建…...

用Vite基于Vue3+ts+DataV+ECharts开发数据可视化大屏,即能快速开发又能保证屏幕适配

数据可视化大屏 基于 Vue3、Typescript、DataV、ECharts5 框架的大数据可视化&#xff08;大屏展示&#xff09;开发。此项目vue3实现界面&#xff0c;采用新版动态屏幕适配方案&#xff0c;全局渲染组件封装&#xff0c;支持数据动态刷新渲染、内部DataV、ECharts图表都支持自…...

大二学生眼中的Netty?基于Netty实现内网穿透!

爷的开场白 掘金的朋友们大家好&#xff01;我是新来的Java练习生 CodeCodeBond&#xff01; 这段时间呢&#xff0c;博主在学习Netty&#xff0c;想做一个自己感兴趣好玩的东西&#xff0c;那就是内网穿透&#xff01;&#xff01;&#xff08;已经实现主要代理功能但有待优化…...

JavaStringBuffer与StringBuilder

StringBuffer、StringBuilder 文章目录 StringBuffer、StringBuilderStringBuffer和StringBuilder的理解可变性分析对于String对于StringBuilder 常用方法执行效率对比 StringBuffer和StringBuilder的理解 String 不可变的字符序列 StringBuffer 可变的字符序列 JDK1.0声明&…...

云徙科技助力竹叶青实现用户精细化运营,拉动全渠道销售额增长

竹叶青茶以其别具一格的风味与深厚的历史底蕴&#xff0c;一直被誉为茶中瑰宝。历经千年的传承与创新&#xff0c;竹叶青不仅坚守着茶叶品质的极致追求&#xff0c;更在数字化的浪潮中&#xff0c;率先打破传统&#xff0c;以科技力量赋能品牌&#xff0c;成为茶行业的领军者。…...

深度揭秘:深度学习框架下的神经网络架构进化

深度学习框架下的神经网络架构经历了从基础到复杂的显著进化&#xff0c;这一进程不仅推动了人工智能领域的突破性进展&#xff0c;还极大地影响了诸多行业应用。本文旨在深入浅出地揭示这一进化历程&#xff0c;探讨关键架构的创新点及其对现实世界的影响。 引言&#xff1a;…...

MySQL的DML语句

文章目录 ☃️概述☃️DML☃️添加数据☃️更新和删除数据☃️DML的重要性 ☃️概述 MySQL 通用语法分类 ● DDL: 数据定义语言&#xff0c;用来 定义数据库对象&#xff08;数据库、表、字段&#xff09; ● DML: 数据操作语言&#xff0c;用来对数据库表中的数据进行增删改 …...

Wireshark的基本用法以及注意事项

Wireshark 是一个流行的网络协议分析工具&#xff0c;可以捕获和分析网络数据包。以下是一些常见的 Wireshark 的用法&#xff1a; 安装和启动&#xff1a;首先需要下载和安装 Wireshark。安装完成后&#xff0c;可以通过启动 Wireshark 应用程序来打开它。 选择网络接口&…...

集团门户网站的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;管理员管理&#xff0c;论坛管理&#xff0c;集团文化管理&#xff0c;基础数据管理&#xff0c;公告通知管理 前台账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;论坛&#xff0…...

Tomcat基础详解

第一篇&#xff1a;Tomcat基础篇 lecture&#xff1a;邓澎波 一、构建Tomcat源码环境 工欲善其事必先利其器&#xff0c;为了学好Tomcat源码&#xff0c;我们需要先在本地构建一个Tomcat的运行环境。 1.源码环境下载 源码有两种下载方式&#xff1a; 1.1 官网下载 https://…...

【Python爬虫】爬取名人名言页面并进行简单的数据清洗(入门级)

目录 资源链接 一、网站选择 二、数据爬取要求 三、数据清洗要求 四、实现代码 1.数据采集 2.数据清洗 资源链接 下面有笔者所放的源码下载链接&#xff0c;读者可自行下载&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1YmTdlnbSJLvLrrx92zz6Qg 提取码&…...

Microsoft Visual C++ Redistributable 【安装包】【高速下载】

方法1、可以从官方下载&#xff0c;如下图 Visual C Redistributable for Visual Studio 2015 但是此链接只有一个版本 方法2 已经下载好并且已经整理好了2008--2022的所有版本点击下方链接即可高速下载 如果是win7-win8-win10-win11直接可以下载2015--2022版本&#xff0c…...

SharpCompress实战:一个方法搞定C#里ZIP压缩打包,附赠RAR/7Z解压和TAR.GZ创建教程

C#压缩解压全能手册&#xff1a;用SharpCompress玩转ZIP/RAR/7Z/TAR.GZ 在开发日志管理系统、文件上传模块或数据备份工具时&#xff0c;文件压缩解压功能就像空气一样不可或缺。但面对ZIP、RAR、7Z、TAR.GZ这些格式各异的压缩包&#xff0c;不少开发者都会陷入API选择的困境。…...

三星固件下载神器Bifrost:三分钟学会跨平台官方固件下载与解密

三星固件下载神器Bifrost&#xff1a;三分钟学会跨平台官方固件下载与解密 【免费下载链接】Bifrost Cross-platform tool for downloading Samsung mobile device firmware. 项目地址: https://gitcode.com/gh_mirrors/sa/Bifrost 还在为找不到三星官方固件而烦恼吗&am…...

Vue3代码编辑器终极指南:5分钟学会vue-codemirror专业集成

Vue3代码编辑器终极指南&#xff1a;5分钟学会vue-codemirror专业集成 【免费下载链接】vue-codemirror codemirror code editor component for vuejs 项目地址: https://gitcode.com/gh_mirrors/vu/vue-codemirror 你是否曾经在Vue3项目中苦苦寻找一个既专业又易用的代…...

网盘直链解析助手:一站式解决多平台文件下载难题

网盘直链解析助手&#xff1a;一站式解决多平台文件下载难题 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 &#xff0c;支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼云盘 …...

无王无帝定乾坤,来自田间第一人 海棠藏圣定山河

无王无帝定乾坤&#xff0c;来自田间第一人。 自古山河安定&#xff0c;世人皆归功于帝王镇守、朝堂统御&#xff0c; 仿佛万里乾坤唯有王权可镇、唯有霸业可安。 然则山河气运自有天道&#xff0c;世间安定自有公理&#xff0c; 强权只能维系一时疆域&#xff0c;正道方能稳固…...

抖音下载器终极指南:3步实现批量无水印下载,提升内容创作效率90%

抖音下载器终极指南&#xff1a;3步实现批量无水印下载&#xff0c;提升内容创作效率90% 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and b…...

ABAP选择屏幕搜索帮助:如何用F4IF_INT_TABLE_VALUE_REQUEST实现字段联动(附完整代码)

ABAP选择屏幕动态搜索帮助实战&#xff1a;用回调函数破解字段联动难题 当你在SAP系统中设计一个物料主数据报表时&#xff0c;是否遇到过这样的困扰&#xff1a;用户需要先选择公司代码&#xff0c;然后根据所选公司代码动态过滤成本中心的搜索帮助值&#xff1f;传统的F4IF_I…...

多臂老虎机问题——一个面向初学者的指南

原文&#xff1a;towardsdatascience.com/the-multi-armed-bandit-problem-a-beginner-friendly-guide-2293ce7d8da8 多臂老虎机 (MAB) 是决策中的一个经典问题&#xff0c;其中代理必须在多个选项&#xff08;称为“臂”&#xff09;之间进行选择&#xff0c;并在一系列试验中…...

IL-4/IL-4R信号通路及其靶向治疗研究进展

摘要白介素-4&#xff08;interleukin-4, IL-4&#xff09;是一种多效细胞因子&#xff0c;通过特异性结合细胞表面的IL-4受体&#xff08;IL-4 receptor, IL-4R&#xff09;发挥生物学效应。IL-4/IL-4R信号通路在特应性皮炎、哮喘及恶性肿瘤等疾病的病理过程中发挥重要作用。近…...

基于Unsloth与LoRA的高效大语言模型微调工程化实践指南

1. 项目概述&#xff1a;一个为Unsloth优化的AI开发伴侣 如果你最近在折腾大语言模型&#xff08;LLM&#xff09;的微调&#xff0c;尤其是想在自己的消费级显卡上跑起来&#xff0c;那你大概率听说过或者正在用Unsloth。这个开源库通过一系列巧妙的优化&#xff08;比如融合…...