mirror of
https://github.com/versia-pub/server.git
synced 2026-01-26 12:16:01 +01:00
Update Blurhash algorithm
This commit is contained in:
parent
b91eb110cc
commit
be6b692a7b
|
|
@ -77,16 +77,28 @@ export default apiRoute<{
|
||||||
? await sharp(await file.arrayBuffer()).metadata()
|
? await sharp(await file.arrayBuffer()).metadata()
|
||||||
: null;
|
: null;
|
||||||
|
|
||||||
const blurhash =
|
const blurhash = await new Promise<string | null>((resolve) => {
|
||||||
isImage && metadata?.width && metadata?.height
|
(async () =>
|
||||||
? encode(
|
sharp(await file.arrayBuffer())
|
||||||
new Uint8ClampedArray(await file.arrayBuffer()),
|
.raw()
|
||||||
|
.ensureAlpha()
|
||||||
|
.toBuffer((err, buffer) => {
|
||||||
|
if (err) {
|
||||||
|
resolve(null);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
resolve(
|
||||||
|
encode(
|
||||||
|
new Uint8ClampedArray(buffer),
|
||||||
metadata?.width ?? 0,
|
metadata?.width ?? 0,
|
||||||
metadata?.height ?? 0,
|
metadata?.height ?? 0,
|
||||||
4,
|
4,
|
||||||
4,
|
4,
|
||||||
)
|
) as string,
|
||||||
: null;
|
);
|
||||||
|
}))();
|
||||||
|
});
|
||||||
|
|
||||||
let url = "";
|
let url = "";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -77,15 +77,28 @@ export default apiRoute<{
|
||||||
? await sharp(await file.arrayBuffer()).metadata()
|
? await sharp(await file.arrayBuffer()).metadata()
|
||||||
: null;
|
: null;
|
||||||
|
|
||||||
const blurhash = isImage
|
const blurhash = await new Promise<string | null>((resolve) => {
|
||||||
? encode(
|
(async () =>
|
||||||
new Uint8ClampedArray(await file.arrayBuffer()),
|
sharp(await file.arrayBuffer())
|
||||||
|
.raw()
|
||||||
|
.ensureAlpha()
|
||||||
|
.toBuffer((err, buffer) => {
|
||||||
|
if (err) {
|
||||||
|
resolve(null);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
resolve(
|
||||||
|
encode(
|
||||||
|
new Uint8ClampedArray(buffer),
|
||||||
metadata?.width ?? 0,
|
metadata?.width ?? 0,
|
||||||
metadata?.height ?? 0,
|
metadata?.height ?? 0,
|
||||||
4,
|
4,
|
||||||
4,
|
4,
|
||||||
)
|
) as string,
|
||||||
: null;
|
);
|
||||||
|
}))();
|
||||||
|
});
|
||||||
|
|
||||||
let url = "";
|
let url = "";
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue