mirror of
https://github.com/lifegpc/eh-downloader.git
synced 2026-07-08 01:31:00 +08:00
Add thumbnail support via ffmpeg API (incomplete
This commit is contained in:
@@ -2,10 +2,18 @@ import { join } from "std/path/mod.ts";
|
||||
import { filterFilename } from "../utils.ts";
|
||||
import type { EhFile } from "../db.ts";
|
||||
|
||||
export enum ThumbnailGenMethod {
|
||||
Unknown,
|
||||
Cover,
|
||||
Contain,
|
||||
Fill,
|
||||
}
|
||||
|
||||
export type ThumbnailConfig = {
|
||||
width: number;
|
||||
height: number;
|
||||
quality: number;
|
||||
method: ThumbnailGenMethod;
|
||||
};
|
||||
|
||||
export function generate_filename(
|
||||
@@ -13,10 +21,22 @@ export function generate_filename(
|
||||
f: EhFile,
|
||||
cfg: ThumbnailConfig,
|
||||
) {
|
||||
let method = "";
|
||||
switch (cfg.method) {
|
||||
case ThumbnailGenMethod.Cover:
|
||||
method = "-cover";
|
||||
break;
|
||||
case ThumbnailGenMethod.Contain:
|
||||
method = "-contain";
|
||||
break;
|
||||
case ThumbnailGenMethod.Fill:
|
||||
method = "-fill";
|
||||
break;
|
||||
}
|
||||
return join(
|
||||
base,
|
||||
filterFilename(
|
||||
`${f.id}-${f.token}-${cfg.width}x${cfg.height}-q${cfg.quality}.jpg`,
|
||||
`${f.id}-${f.token}-${cfg.width}x${cfg.height}-q${cfg.quality}${method}.jpg`,
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user