Files
cut-abstractions/tests/dev1/dataHandle/common/drawing/imageCode.ts

34 lines
972 B
TypeScript
Raw Normal View History

2025-07-22 18:22:31 +08:00
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)
}