Update Blurhash algorithm

This commit is contained in:
Jesse Wierzbinski 2024-04-09 03:18:04 -10:00
parent b91eb110cc
commit be6b692a7b
No known key found for this signature in database
2 changed files with 44 additions and 19 deletions

View file

@ -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 = "";

View file

@ -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 = "";