feat: support blurhash
This commit is contained in:
parent
af2c6d622b
commit
757a93c2a2
8 changed files with 102 additions and 25 deletions
|
@ -36,7 +36,7 @@ export function contentToVNode(
|
|||
handle: (node: Element) => Element | undefined | null | void = defaultHandle,
|
||||
customEmojis: Record<string, Emoji> = {},
|
||||
): VNode {
|
||||
content = content.replace(/:([\w-]+?):/g, (_, name) => {
|
||||
content = content.trim().replace(/:([\w-]+?):/g, (_, name) => {
|
||||
const emoji = customEmojis[name]
|
||||
if (emoji)
|
||||
return `<img src="${emoji.url}" alt="${name}" class="custom-emoji" />`
|
||||
|
|
16
composables/utils.ts
Normal file
16
composables/utils.ts
Normal file
|
@ -0,0 +1,16 @@
|
|||
export function getDataUrlFromArr(arr: Uint8ClampedArray, w: number, h: number) {
|
||||
if (typeof w === 'undefined' || typeof h === 'undefined')
|
||||
w = h = Math.sqrt(arr.length / 4)
|
||||
|
||||
const canvas = document.createElement('canvas')
|
||||
const ctx = canvas.getContext('2d')!
|
||||
|
||||
canvas.width = w
|
||||
canvas.height = h
|
||||
|
||||
const imgData = ctx.createImageData(w, h)
|
||||
imgData.data.set(arr)
|
||||
ctx.putImageData(imgData, 0, 0)
|
||||
|
||||
return canvas.toDataURL()
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue