feat: new formats, update existing support

fixes #14, #74, #88, #91
+ add avif
+ add jxl
+ add heif (input)
+ add arw (input)
+ add svg (output)
+ add eps (output)
+ update bmp (full)
+ update cur (full)
+ update ppm (full)
This commit is contained in:
Maya 2025-07-26 12:51:56 +03:00
parent 568a37d09f
commit 3e1dc720ed
No known key found for this signature in database
2 changed files with 11 additions and 9 deletions

View File

@ -22,12 +22,16 @@ export class MagickConverter extends Converter {
new FormatInfo("jpg", true, true), new FormatInfo("jpg", true, true),
new FormatInfo("webp", true, true), new FormatInfo("webp", true, true),
new FormatInfo("gif", true, true), new FormatInfo("gif", true, true),
new FormatInfo("heic", true, false), new FormatInfo("svg", false, true), // converting from SVG unsupported my magick-wasm - suggested to let browser draw with canvas and read image to "convert" (gh issues)
new FormatInfo("jxl", true, true),
new FormatInfo("avif", true, true),
new FormatInfo("heic", true, false), // seems to be unreliable? HEIC/HEIF is very weird if it will actually work
new FormatInfo("heif", true, false),
// TODO: .ico files can encode multiple images at various // TODO: .ico files can encode multiple images at various
// sizes, bitdepths, etc. we should support that in future // sizes, bitdepths, etc. we should support that in future
new FormatInfo("ico", true, true), new FormatInfo("ico", true, true),
new FormatInfo("bmp", true, false), new FormatInfo("bmp", true, true),
new FormatInfo("cur", true, false), new FormatInfo("cur", true, true),
new FormatInfo("ani", true, false), new FormatInfo("ani", true, false),
new FormatInfo("icns", true, false), new FormatInfo("icns", true, false),
new FormatInfo("nef", true, false), new FormatInfo("nef", true, false),
@ -40,10 +44,12 @@ export class MagickConverter extends Converter {
new FormatInfo("pfm", true, true), new FormatInfo("pfm", true, true),
new FormatInfo("pgm", true, true), new FormatInfo("pgm", true, true),
new FormatInfo("pnm", true, true), new FormatInfo("pnm", true, true),
new FormatInfo("ppm", false, true), new FormatInfo("ppm", true, true),
new FormatInfo("tif", true, true), new FormatInfo("tif", true, true),
new FormatInfo("tiff", true, true), new FormatInfo("tiff", true, true),
new FormatInfo("jfif", true, true), new FormatInfo("jfif", true, true),
new FormatInfo("eps", false, true),
new FormatInfo("arw", true, false),
]; ];
public readonly reportsProgress = false; public readonly reportsProgress = false;

View File

@ -2,11 +2,7 @@
import { onMount } from "svelte"; import { onMount } from "svelte";
import { goto, beforeNavigate, afterNavigate } from "$app/navigation"; import { goto, beforeNavigate, afterNavigate } from "$app/navigation";
import { import { PUB_PLAUSIBLE_URL, PUB_HOSTNAME } from "$env/static/public";
PUB_PLAUSIBLE_URL,
PUB_HOSTNAME,
PUB_DONATION_URL,
} from "$env/static/public";
import { VERT_NAME } from "$lib/consts"; import { VERT_NAME } from "$lib/consts";
import * as Layout from "$lib/components/layout"; import * as Layout from "$lib/components/layout";
import * as Navbar from "$lib/components/layout/Navbar"; import * as Navbar from "$lib/components/layout/Navbar";