-
-
Notifications
You must be signed in to change notification settings - Fork 42
Open
Description
magick-wasm version
0.22
Description
I am trying to use magick-wasm in a use case where I will be downloading/proxying a lot of favicons from the web in a Deno app. They will be in either PNG or legacy ICO/ICON format. Locally installed versions of imagemagick can handle these files fine but I'm having difficulty with magick-wasm.
Two example files:
- https://pseudosavant.com/homemarks/favicon-1.1.0.ico
- https://pseudosavant.com/homemarks/images/favicon-144-1.0.png
Version and delegate information:
ImageMagick 7.1.1-11 Q8 x86_64 11ffa6eb4:20230529 https://imagemagick.org
Delegates: freetype heic jng jp2 jpeg jxl lcms lqr openexr png raw tiff webp xml zlib
Both of those files give an error about NoDecodeDelegateForThisImageFormat @ error/blob.c/BlobToImage/460. If I use the magick-image test page, it will load that PNG, but not the ICO.
This is the code I'm using:
import {
initializeImageMagick,
ImageMagick,
Magick,
Quantum,
MagickFormat
} from './dist/index.mjs';
const wasm = await Deno.readFile(`./dist/magick.wasm`);
await initializeImageMagick(wasm);
console.log(Magick.imageMagickVersion);
console.log('Delegates:', Magick.delegates);
console.log('Features:', Magick.features);
console.log('Supported Formats:', Magick.supportedFormats);
const iconURL = 'https://pseudosavant.com/homemarks/favicon-1.1.0.ico';
const pngURL = 'https://pseudosavant.com/homemarks/images/favicon-144-1.0.png';
const iconFetch = await fetch(iconURL);
if (iconFetch.ok) {
const iconData = await iconFetch.arrayBuffer();
console.log(iconData);
await ImageMagick.read(iconData, (img) => {
console.log(img);
});
}Questions:
- Am I initializing this wrong?
- Do I need to compile magick-wasm with different flags to include PNG and ICO support?
Steps to Reproduce
- Use NPM to retrieve
distfolder for 0.22 - Use Deno code below with the ICO or PNG URLs:
import {
initializeImageMagick,
ImageMagick,
Magick,
Quantum,
MagickFormat
} from './dist/index.mjs';
const wasm = await Deno.readFile(`./dist/magick.wasm`);
await initializeImageMagick(wasm);
console.log(Magick.imageMagickVersion);
console.log('Delegates:', Magick.delegates);
console.log('Features:', Magick.features);
console.log('Supported Formats:', Magick.supportedFormats);
const iconURL = 'https://pseudosavant.com/homemarks/favicon-1.1.0.ico';
const pngURL = 'https://pseudosavant.com/homemarks/images/favicon-144-1.0.png';
const iconFetch = await fetch(iconURL);
if (iconFetch.ok) {
const iconData = await iconFetch.arrayBuffer();
console.log(iconData);
await ImageMagick.read(iconData, (img) => {
console.log(img);
});
}Images
No response
maslowivan
Metadata
Metadata
Assignees
Labels
No labels