diff --git a/plugins/snapshot/package-lock.json b/plugins/snapshot/package-lock.json index e76821163..5050a46ae 100644 --- a/plugins/snapshot/package-lock.json +++ b/plugins/snapshot/package-lock.json @@ -1,12 +1,12 @@ { "name": "@scrypted/snapshot", - "version": "0.2.13", + "version": "0.2.14", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@scrypted/snapshot", - "version": "0.2.13", + "version": "0.2.14", "dependencies": { "@koush/axios-digest-auth": "^0.8.5", "@types/node": "^18.16.18", diff --git a/plugins/snapshot/package.json b/plugins/snapshot/package.json index 08c7f8231..97ac5062f 100644 --- a/plugins/snapshot/package.json +++ b/plugins/snapshot/package.json @@ -1,6 +1,6 @@ { "name": "@scrypted/snapshot", - "version": "0.2.13", + "version": "0.2.14", "description": "Snapshot Plugin for Scrypted", "scripts": { "scrypted-setup-project": "scrypted-setup-project", diff --git a/plugins/snapshot/src/image-reader.ts b/plugins/snapshot/src/image-reader.ts index 12700b4d6..7a1839b06 100644 --- a/plugins/snapshot/src/image-reader.ts +++ b/plugins/snapshot/src/image-reader.ts @@ -71,6 +71,12 @@ export class VipsImage implements Image { if (options?.format === 'rgb') { transformed.removeAlpha().toFormat('raw'); } + else if (options?.format === 'rgba') { + transformed.ensureAlpha().toFormat('raw'); + } + else if (options?.format === 'gray') { + transformed.toFormat('raw').grayscale(); + } else if (options?.format === 'jpg') { transformed.toFormat('jpg'); } @@ -106,6 +112,8 @@ export class VipsImage implements Image { } export async function loadVipsImage(data: Buffer | string, sourceId: string) { + loadSharp(); + const image = sharpInstance(data, { failOnError: false, });