HarmonyOS 调用generateBarcode. createBarcode()生成码图无响应

HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zbw_apple

生成码图不需要开通权限,需要在真机上运行,请参考以下demo

import { scanCore, generateBarcode } from '@kit.ScanKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { image } from '@kit.ImageKit';
import { hilog } from '@kit.PerformanceAnalysisKit';
@Entry
@Component
struct GenerateBarcode {
  @State pixelMap: image.PixelMap | undefined = undefined
  build() {
    Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
      Button('generateBarcode Promise').onClick(() => {
        // 以QR码为例,码图生成参数
        this.pixelMap = undefined;
        let content: string = 'huawei';
        let options: generateBarcode.CreateOptions = {
          scanType: scanCore.ScanType.QR_CODE,
          height: 400,
          width: 400
        }
        // 码图生成接口,成功返回PixelMap格式图片
        generateBarcode.createBarcode(content, options).then((pixelMap: image.PixelMap) => {
          this.pixelMap = pixelMap;
          hilog.info(0x0001, '[Scan Sample]', `Succeeded in getting PixelMap by promise with options.`);
        }).catch((error: BusinessError) => {
          hilog.error(0x0001, '[generateBarcode]', 'promise error : %{public}s', JSON.stringify(error));
        })
      })
      // 获取生成码后显示
      if (this.pixelMap) {
        Image(this.pixelMap).width(300).height(300).objectFit(ImageFit.Contain)
      }
    }
    .width('100%')
    .height('100%')
  }
}

请参考api文档链接

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/scan-generatebarcode-V5#section191012115182,说明了对生成码参数建议:码图大小,生成QR Code、Data Matrix、Aztec类型的码图时,输入的width和height值相同且均大于等于200小于等于4096,否则生成的码图过小会影响识别,均不要设置小于200

分享
微博
QQ
微信
回复
1天前
相关问题
HarmonyOS 控件点击事件响应
27浏览 • 1回复 待解决
Scan Kit无法识别多个
1793浏览 • 1回复 待解决
HarmonyOS如何感知扫描二维
494浏览 • 1回复 待解决
HarmonyOS 二维生成失败
13浏览 • 1回复 待解决
HarmonyOS 二维生成的demo
401浏览 • 2回复 待解决
如何生成时的镂空遮罩?
314浏览 • 1回复 待解决
AI生成能力中文字符乱码
9754浏览 • 1回复 待解决