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()
metadata?.width ?? 0, .ensureAlpha()
metadata?.height ?? 0, .toBuffer((err, buffer) => {
4, if (err) {
4, resolve(null);
) return;
: null; }
resolve(
encode(
new Uint8ClampedArray(buffer),
metadata?.width ?? 0,
metadata?.height ?? 0,
4,
4,
) as string,
);
}))();
});
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())
metadata?.width ?? 0, .raw()
metadata?.height ?? 0, .ensureAlpha()
4, .toBuffer((err, buffer) => {
4, if (err) {
) resolve(null);
: null; return;
}
resolve(
encode(
new Uint8ClampedArray(buffer),
metadata?.width ?? 0,
metadata?.height ?? 0,
4,
4,
) as string,
);
}))();
});
let url = ""; let url = "";