国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Vue中使用qrcode實現(xiàn)渲染二維碼中間添加自定義logo-demo

這篇具有很好參考價值的文章主要介紹了Vue中使用qrcode實現(xiàn)渲染二維碼中間添加自定義logo-demo。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

效果?

Vue中使用qrcode實現(xiàn)渲染二維碼中間添加自定義logo-demo,Vue,JavaScript,vue.js,javascript,前端

安裝

npm i qrcode

使用?

import QRCode from 'qrcode';

?具體生成過程

<template>
    <div class="banner-login">
      <img :src="qrDataUrl" />
    </div>
</template>

<script setup>
import { ref, reactive } from 'vue';
import QRCode from 'qrcode';
import { getNewCode } from '@/api/sefatyCenter';
import { useRouter } from 'vue-router';
const router = useRouter();
const goPath = (r) => {
  router.push({
    path: r
  });
};



let qrDataUrl = ref();
let secret = ref('');
const getCode = async () => {
  const {
    data: { data }
  } = await getNewCode();
  console.log(data);
  secret.value = data.secret;
  //直接生成二維碼不做處理
  // qrDataUrl.value = await QRCode.toDataURL(data.uri);

  // 創(chuàng)建一個新的canvas元素來容納二維碼
  const qrCodeCanvas = document.createElement('canvas');
  qrCodeCanvas.width = 200; // 根據(jù)需要調(diào)整二維碼尺寸
  qrCodeCanvas.height = 200;

  // 生成二維碼到新的canvas元素
  await QRCode.toCanvas(qrCodeCanvas, data.uri);

  // 在二維碼中間添加logo
  const ctx = qrCodeCanvas.getContext('2d');
  const logo = new Image();
  logo.src = require('@/assets/images/logo.png');
  logo.onload = function () {
    const logoSize = qrCodeCanvas.width * 0.26; // 根據(jù)需要調(diào)整logo尺寸
    const logoX = (qrCodeCanvas.width - logoSize) / 2;
    const logoY = (qrCodeCanvas.height - logoSize) / 2;

    // 繪制二維碼
    ctx.drawImage(logo, logoX, logoY, logoSize, logoSize);

    // 將生成的二維碼插入到頁面中
    qrDataUrl.value = qrCodeCanvas.toDataURL();
  };
};
getCode();


</script>

我們首先創(chuàng)建一個新的canvas元素,用于容納生成的二維碼。然后,使用QRCode.toCanvas方法將二維碼生成到新的canvas元素中。

接下來,在logo.onload事件處理程序中,我們創(chuàng)建一個Image對象來加載logo圖像,并在二維碼中間繪制logo。最后,將生成的二維碼轉(zhuǎn)換為數(shù)據(jù)URL,并將其賦值給qrDataUrl變量。

封裝?

Vue中使用qrcode實現(xiàn)渲染二維碼中間添加自定義logo-demo,Vue,JavaScript,vue.js,javascript,前端

<template>
  <div class="qr-code" ref="container">
    <img :src="qrCodeData"/>
  </div>
</template>
<script>
import { ref, onMounted, watch,nextTick } from 'vue';
import QRCode from "qrcode";
export default {
  name: "Qrcode",
  props: {
    modelValue: {
      type: String,
      default: ''
    }
  },
  setup(props, {emit}) {
    const canvas = ref(null)
    const container = ref(null)
    const qrCodeData = ref("data:image/png;base64,")
    watch(() => props.modelValue, (val, oldVal) => {
      render()
    });
    const render = async () => {
      if (props.modelVal == '') return

      await nextTick()
      // QRCode.toCanvas(
      //   canvas.value,
      //   props.modelValue ,
      //   {
      //     width: 150,
      //     height: 150
      //   },
      //   error => {console.log(error)}
      // )
      QRCode.toDataURL(props.modelValue, {  margin: 1, errorCorrectionLevel: 'H'}, (err, url) => {
        qrCodeData.value = url
        
      })
    }
    onMounted(() => {
      render()
    })
    return {
      render,
      canvas,
      container,
      qrCodeData
    }
  },
}
</script>
<style lang="less" scoped>
.qr-code {
  width: 200px;
  height: 200px;
  background-image: url('@/assets/images/wallet/qr-code-bg.svg');
  background-size: 100% 100%;
  margin: 38px 0 30px 0;
  display: flex;
  align-items: center;
  justify-content: center;
  img {
    width: 170px;
    height: 170px;
  }
}
</style>

?文章來源地址http://www.zghlxwxcb.cn/news/detail-687054.html

到了這里,關(guān)于Vue中使用qrcode實現(xiàn)渲染二維碼中間添加自定義logo-demo的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 微信小程序使用weapp-qrcode.js生成二維碼以及“掃普通鏈接二維碼打開小程序”動態(tài)傳遞參數(shù)實現(xiàn)以及遇到問題記錄

    微信小程序使用weapp-qrcode.js生成二維碼以及“掃普通鏈接二維碼打開小程序”動態(tài)傳遞參數(shù)實現(xiàn)以及遇到問題記錄

    參考文章原文鏈接:微信小程序使用weapp-qrcode.js完成二維碼的生成_fairy_404的博客-CSDN博客 首先給需要生成二維碼的頁面創(chuàng)建一個canvas 因為我這里實現(xiàn)的是彈窗展示二維碼,所有就把?canvas移出頁面,小伙伴們根據(jù)自己需求進行調(diào)整,weapp-qrcode.js內(nèi)容參考鏈接中就有,我這里就

    2024年02月01日
    瀏覽(30)
  • vue3 qrcode 生成二維碼展示 親測可用

    網(wǎng)上找的好多vue3 生成二維碼代碼都不能用,正確辦法如下 安裝 script template

    2024年02月09日
    瀏覽(32)
  • Python + qrcode 實現(xiàn)文字轉(zhuǎn)二維碼

    Python + qrcode 實現(xiàn)文字轉(zhuǎn)二維碼

    前幾天寫了個小工具,賣了12塊錢。錢不錢的倒沒什么,主要就是圖個樂乎哈哈。 某天,一位兄弟問我,如果他給我寫信寄到我們學(xué)校,我怎樣才能收到。在這個信息技術(shù)高度發(fā)達的時代,應(yīng)該沒幾個年輕人寄過信了吧?因此他不清楚寄信的流程也很正常??墒?,寄信??這

    2023年04月17日
    瀏覽(22)
  • 使用jquery.qrcode生成二維碼

    1、首先在頁面中加入jquery庫文件和qrcode插件。 2、在頁面中需要顯示二維碼的地方加入以下代碼: 3、生成二維碼 qrcode支持canvas和table兩種方式進行圖片渲染,默認(rèn)使用canvas方式,效率最高,當(dāng)然要瀏覽器支持html5。直接調(diào)用如下 也可以通過以下方式調(diào)用: 這樣就可以在頁面

    2024年02月06日
    瀏覽(47)
  • 如何使用h5-scan-qrcode插件實現(xiàn)一個h5頁面掃碼識別二維碼功能

    如何使用h5-scan-qrcode插件實現(xiàn)一個h5頁面掃碼識別二維碼功能

    為了適應(yīng)公司代碼全程使用jquery構(gòu)造 如需其他js或者vue 可根據(jù)此代碼去改(因為好多地方會用到這個東西所以我封裝成了一個js文件) https://dragonir.github.io/h5-scan-qrcode/#/ 這個是效果 可以提前看一下~ 我做的比這個效果多一個拿取本地圖庫的二維碼掃碼 scancode ---- html文件 如何

    2024年02月06日
    瀏覽(25)
  • 詳解Python生成二維碼插件QrCode的使用

    二維碼(QR Code)是一種常見的矩陣型條碼,被廣泛用于掃碼支付、產(chǎn)品標(biāo)識、活動推廣等領(lǐng)域。Python提供了許多第三方庫用于生成和解析二維碼,其中最常用的是qrcode庫。本文將介紹如何使用qrcode庫來生成二維碼,并提供相應(yīng)的代碼示例和詳細說明。 在開始之前,我們需要

    2024年02月16日
    瀏覽(31)
  • JavaScript 中生成二維碼,你可以使用第三方庫,其中最流行和廣泛使用的是 QRCode.js。以下是使用 QRCode.js 生成二維碼的基本步驟:

    要在 JavaScript 中生成二維碼,你可以使用第三方庫,其中最流行和廣泛使用的是 QRCode.js。以下是使用 QRCode.js 生成二維碼的詳細的步驟如下: 步驟 1: 引入 QRCode.js 庫 首先,將 QRCode.js 庫引入到你的 HTML 文件中。你可以從 CDN 上獲取它: 步驟 2: 創(chuàng)建容器 在頁面中創(chuàng)建一個容器

    2024年01月18日
    瀏覽(109)
  • 【vue-qrcode + html2canvas】前端二維碼生成與下載

    【vue-qrcode + html2canvas】前端二維碼生成與下載

    其實一開始搜的時候,很多還都是推薦的 vue-qrcode ,于是就先用這個,但是發(fā)現(xiàn)想要在二維碼中間放一個自定義的image的時候,這個庫有點麻煩,需要自己將 image 圖片蓋在二維碼上面(官方教程也是如此)。好吧,一開始我也這么干了,但是蓋完之后,我需要下載這個有居中

    2024年04月17日
    瀏覽(37)
  • H5項目實現(xiàn)掃描二維碼功能 -- html5-qrcode

    H5項目實現(xiàn)掃描二維碼功能 -- html5-qrcode

    vue3中使用 html5-qrcode 實現(xiàn)掃描二維碼功能。 實現(xiàn)原理:調(diào)取手機攝像頭掃一掃功能實現(xiàn) 注:調(diào)取手機攝像頭需要再 https協(xié)議 下才可以,有的項目啟動配置 https:true 可以實現(xiàn)啟動的項目協(xié)議為 https 且可以訪問,有的還是需要證書才能訪問 1、下載 html5-qrcode 2、使用

    2024年02月06日
    瀏覽(23)
  • HTML+JS + layer.js +qrcode.min.js 實現(xiàn)二維碼彈窗

    id 作為 定位標(biāo)識 由于我框架中引入了VUE ,所以 我是直接寫在了VUE的方法中觸發(fā)的,并引入layer彈窗js 關(guān)于layer彈窗詳細使用方法可以去H-ui官網(wǎng)查看 https://www.h-ui.net/lib/layer.js.shtml

    2024年01月16日
    瀏覽(48)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包