QR 코드는 생활 곳곳에 있습니다. 저는 이전에 Java의 zxing 라이브러리를 사용하여 QR 코드를 생성한 적이 있는데 매우 강력합니다.
하지만 실제로 nodejs에는 QR 코드를 생성할 수 있는 타사 라이브러리가 많이 있습니다. 오늘 우리는 qrcode 라이브러리를 사용하여 QR 코드를 생성합니다. [관련 튜토리얼 권장 사항: nodejs 비디오 튜토리얼]
온라인 예: http://www.lolmbbs.com/tool/qr
QR 코드 생성:
const qrCode = require('qrcode') class QrController { async create (ctx) { const { text = 'Luban', options } = ctx.request.body const qrOptions = { type: 'image/png', width: 180, margin: 0, scale: 1, color: { dark: '#000000', light: '#ffffff' }, errorCorrectionLevel: 'M', quality: 1 } Object.assign(qrOptions, options) const imgData = await qrCode.toDataURL(text, qrOptions) return ctx.success({ imgData }) } } module.exports = new QrController()
다운로드 QR 코드:
const a = document.createElement('a') const event = new MouseEvent('click') a.download = '二维码' a.href = this.imgSrc a.dispatchEvent(event)
유형: 이미지 유형 생성
주로 image/png
, image/jpeg
, image/web 포함
이 세 가지 유형이 있습니다. image/png
、image/jpeg
、 image/web
这三种类型.
ps: 但是我在代码中即使设置type为image/jpeg
ps: 그런데 코드에서 유형을 image/jpeg
로 설정했는데도 나중에 문서를 자세히 읽어보니 생성된 이미지가 여전히 png라는 걸 알았습니다. , toDataURL 메소드는 png 유형의 그림 생성만 지원한다는 것을 깨달았습니다...
width: QR 코드의 너비
높이 필드 설정이 없는 것을 발견했습니다. 아마도 생성된 QR 코드는 모두 square
margin: 내부 가장자리 거리
패딩은 10
으로 설정됨 패딩은 0
scale 배율 배수
너비가 설정되면 너비가 효과가 우선이므로 이 매개변수는 쓸모가 없습니다.
배율 비율은 5
확대/축소 비율은 10
color.light: 전경색
color.night:배경색
기본 전경색은 검정색, 배경색은 흰색입니다.
errorCorrectionLevel 오류 수정 수준
QR 코드의 일부가 표시되지 않아도 QR 코드의 내용을 인식할 수 있는 QR 코드의 오류 수정입니다.
L 수준 오류 수정은 불완전성이 7% 미만이면 식별이 가능하다는 것을 의미합니다.
노드 관련 지식을 더 보려면 nodejs 튜토리얼을 방문하세요!
위 내용은 nodejs를 사용하여 QR 코드를 생성하는 방법 보기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!