Harmony OS5 ArkTs 生成/扫描二维码

ArkTs 生成/扫描二维码

生成二维码组件

// 进行截图
    const pixelMap = await componentSnapshot.get('share')
    // 图片数据
    const imagePacker = image.createImagePacker()
    const arrayBuffer = await imagePacker.packing(pixelMap, { format: 'image/jpeg', quality: 98 })
    // 存储图片到沙箱
    const ctx = getContext(this)
    const imagePath = ctx.cacheDir + '/' + Date.now() + '.jpeg'
    const file = fileIo.openSync(imagePath, fileIo.OpenMode.CREATE | fileIo.OpenMode.READ_WRITE)
    fileIo.writeSync(file.fd, arrayBuffer)
    fileIo.closeSync(file.fd)
    //图片在手机存储中的完整路径
    const imageUri = fileUri.getUriFromPath(imagePath)
    const request = photoAccessHelper.MediaAssetChangeRequest.createImageAssetRequest(ctx, imageUri)
    //获取照片访问助手实例
    const helper = photoAccessHelper.getPhotoAccessHelper(ctx)
    //调用applyChanges执行
    await helper.applyChanges(request) //配置权限
    promptAction.showToast({ message: '已保存到相册' })

扫描二维码

if (canIUse('SystemCapability.Multimedia.Scan.ScanBarcode')) {
      const resp = await scanBarcode.startScanForResult(getContext())
      router.pushUrl({ url: 'pages/QuestionPage', params: { id: resp.originalValue } })
      AlertDialog.show({ message: resp.originalValue })
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值