HarmonyOS 鸿蒙Next QRCode支持在二维码中间加入logo图片吗?类似微信支付宝的收款码

发布于 1周前 作者 h691938207 来自 鸿蒙OS

HarmonyOS 鸿蒙Next QRCode支持在二维码中间加入logo图片吗?类似微信支付宝的收款码 QRCode支持在二维码中间加入logo图片吗?类似微信支付宝的收款码

2 回复

方案一:使用Stack组件在二维码上叠加logo图标,小尺寸的logo不会影响到二维码的识别。 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 Index {
  @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;
          }).catch((error: BusinessError) => {
            hilog.error(0x0001, '[generateBarcode]', 'promise error : %{public}s', JSON.stringify(error));
          })
        })

      // 获取生成码后显示
      if (this.pixelMap) {
        Stack({ alignContent: Alignment.Center }) {
          Image(this.pixelMap).width(300).height(300).objectFit(ImageFit.Contain)
          Image($r('app.media.startIcon')).width(50).height(50)
        }
      }
    }.width('100%').height('100%')
  }
}

方案二:使用鸿蒙版的zxing三方库来带logo的二维码图片,鸿蒙版zxing库地址:https://gitee.com/openharmony-tpc/zxing

使用zxing生成带logo的二维码图片可参考网上的案例 :https://blog.csdn.net/donkor_/article/details/79799366

还可以在生成二维码后使用canvas将logo绘制到二维码上

更多关于HarmonyOS 鸿蒙Next QRCode支持在二维码中间加入logo图片吗?类似微信支付宝的收款码的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


HarmonyOS 鸿蒙Next系统本身对于QRCode的生成并不直接限制是否可以在二维码中间加入logo图片。QRCode的生成和展示通常依赖于具体的开发库或第三方组件。在HarmonyOS应用中,开发者可以选择适合的QRCode生成库,这些库往往提供了自定义QRCode外观的功能,包括在二维码中心添加图片(如logo)。

要实现类似微信或支付宝收款码中在二维码中间加入logo图片的效果,开发者需要在QRCode生成时,利用所选库的API进行自定义设置。这通常涉及在生成QRCode数据后,将logo图片以合适的大小和位置叠加到QRCode图像上,同时确保QRCode的可读性不受影响。

因此,HarmonyOS 鸿蒙Next是否支持在QRCode中间加入logo图片,取决于开发者选择的QRCode生成库及其功能。开发者应查阅所选库的文档,了解如何自定义QRCode的生成过程,以实现所需的效果。

如果问题依旧没法解决请联系官网客服,官网地址是:

https://www.itying.com/category-93-b0.html

回到顶部