fix(raw): fix RAW color matrix calculation, enable highlight recovery mode, and add dedicated tiffThumbnail decoder
This commit is contained in:
@@ -892,10 +892,11 @@ export async function scanFolder(
|
||||
return;
|
||||
}
|
||||
const raw = isRawName(file.name);
|
||||
const isTiff = /\.(tiff?)$/i.test(file.name);
|
||||
const RAW_HEADER_BYTES = 4 * 1024 * 1024;
|
||||
const sliceBuffer = await file.slice(0, raw ? RAW_HEADER_BYTES : HEAD_BYTES).arrayBuffer();
|
||||
const sliceBuffer = await file.slice(0, (raw || isTiff) ? (isTiff ? Math.min(file.size, 16 * 1024 * 1024) : RAW_HEADER_BYTES) : HEAD_BYTES).arrayBuffer();
|
||||
const bytes = new Uint8Array(sliceBuffer);
|
||||
const preview = raw ? await rawThumbnail(bytes) : null;
|
||||
const preview = (raw || isTiff) ? await rawThumbnail(bytes, file.name) : null;
|
||||
const src = preview ? new Blob([preview as BlobPart], { type: 'image/jpeg' }) : raw ? null : file;
|
||||
const size = preview ? jpegSize(preview) : raw ? null : jpegSize(bytes);
|
||||
const thumb = src ? await tile(src, size) : null;
|
||||
|
||||
Reference in New Issue
Block a user