import jsbarcode from 'jsbarcode' import type { QRCodeRenderersOptions } from 'qrcode' import { toCanvas } from 'qrcode' // const canvas = new OffscreenCanvas(0, 0); const canvas = document.createElement('canvas') const canvasCtx = canvas.getContext('2d') export async function genBarcode(text: string, options: jsbarcode.Options) { canvas.width = options.width canvas.height = options.height canvasCtx.clearRect(0, 0, options.width, options.height) try { jsbarcode(canvas, text, options) // return await canvas.transferToImageBitmap(); return await createImageBitmap(canvas) } catch { return null } } export async function genQrcode(text: string, options: QRCodeRenderersOptions) { canvas.width = options.width canvas.height = options.width canvasCtx.clearRect(0, 0, options.width, options.width) await toCanvas(canvas, text, options) // return await canvas.transferToImageBitmap(); return await createImageBitmap(canvas) }