@ai-ecoverse/wasm-imagemagick
图像映射 7.1.2-34 (中文(简体) ) magick CLI 用于
块状这是原地. convert, (中文(简体) ),
identify,以及 mogrify 是同一二进制的 argv0 化名.
对于HEIC/HEIF/AVIF,使用 @ai-ecoverse/wasm-imagemagick-heif 相反( 可选的) :
它包含一个HEVC解码器。 两者都具有相同的命令,所以安装两个命令中的一个.
代表作有:zlib,jpeg,png,tiff,webp,openjpeg,lcms2,自由型,libxml2.
自7.1.2-32-4以来,所有这些设施都相互连接;7.1.2-32-3和较老的建筑物没有连接
网络p, 自由类型和 libxml2( 无网络P, 无) -annotate/TTF,没有 MSL 或内部
SVG渲染器),虽然此列表命名了它们. 没有字体配置 。 自兹
7.1.2-34-9.2 该软件包有一个默认字体URW Nimbus Sans(Helvetica,
从gsfonts in到gsfonts etc/fonts),这样
label:, (中文(简体) ), caption: 财务报告和审定财务报表 -annotate 无工作 -font。需要其他字体
-font path/to/font.ttf (或1型) .pfb) (中文(简体) ).
在下方配置 XMLs 飞船 etc/ImageMagick-7/; 块状的显示器
MAGICK_CONFIGURE_PATH 这样 colors.xml 编号 : policy.xml 决心.
SVG通过内部的MSVG渲染器: delegates.xml 没有
inkscape或rsvg-convert 条目,因为两个程序都不存在于 slic.
网络程序无损失( E)-define webp:lossless=true) 放弃完全透明的 RGB
像素, 如 libwebp 默认的; 添加 -define webp:exact=true 留着它.
WebP最多持有一面16383px. 拒绝扩大图像范围(width or height exceeds limit, rc 1) 在输出打开之前, 因此存在
.webp,输入到位置 magick a.webp -resize 200% a.webp
包含,原为(homescoop#585;直到7.1.2-34-2
被截断了). 将大小调整为最多16383 px,或写出另一种格式.
在现有文件上写入( I)magick … out.png, (中文(简体) ), mogrify编码为 a
临时文件,仅在图像完成后才替换目标,所以
失败的编码保存文件 。 临时文件放在旁边
目标; 当目录无法写时( 文件您可以在
您可能不会在目录中, 它在第一个 $MAGICK_TEMPORARY_PATH, (中文(简体) ),
$TMPDIR 财务报告和审定财务报表 /tmp 并复制到
(homescoop#1656; 7.1.2-34-9.6) 仅尝试了其中第一个
页:1 当无法在任何地方创建临时文件时, 写入被拒绝
与它尝试的目录(unable to create temporary file 'f.png': tried /nonexistent (No such file or directory), /tmp (Permission denied), (中文(简体) ),
rc 1),文件保留原样(homescoop#1608;直到7.1.2-34-9.5它)
被写在原地,一个失败的编码切换了它).
mogrify 超过几个文件 其余的,当一个失败(丢失,
无法解码、 编码失败或拒绝写入), 报告每次失败以及
出站 1; 失败的文件保留原样( homescoop# 1655; 直到
7.1.2-34-9.6 作为上游,第一次失败之后的每一个文件都默默地
页:1.
pnpm add -g @ai-ecoverse/wasm-imagemagick
magick -version
convert logo: out.png
切换
@ai-ecoverse/wasm-imagemagick 财务报告和审定财务报表 @ai-ecoverse/wasm-imagemagick-heif 为:
具有相同命令的落地选项( e)magick, (中文(简体) ), convert, (中文(简体) ),
identify, (中文(简体) ), mogrify, (中文(简体) ), magick-open) (中文(简体) ). 安装其中之一。 要切换,
删除第一个 :
pnpm remove -g @ai-ecoverse/wasm-imagemagick-heif
pnpm add -g @ai-ecoverse/wasm-imagemagick
magick -version # "Delegates (built-in):" lists heic only for wasm-imagemagick-heif
在两个软件包都安装后,一个软件包提供共享命令,另一个则提供
被忽略了,没有警告。 原图像放大-heif 宣告
"slicc": { "replaces": ["@ai-ecoverse/wasm-imagemagick"] }: 与
硅核1.94.0或以后两者安装后自动取胜
(例如,两者都是全球性的)。 在旧内核上,这个软件包获胜,所以删除
先说.
资源限制
默认 etc/ImageMagick-7/policy.xml 用于浏览器标签的大小,其中
在2 GiB 时, 运行的配置可以冻结标签 :
| 资源 | 限制 | 为什么 |
|---|---|---|
| 宽度, 高度 | 64000 px (帮助) | 只有荒谬的大小; 区域限制一个图像的成本, 所以18,000x3000全景的作品 |
| 区域 | 64 MP (英语) | a 48 MP 手机相片(8064x6048)或54 MP全景相合 (18000x3000) ; 一个 30000x30000 请求一次失败而不是分配 |
| 内存 | 1536 米贝 | a 48 MP RGB在Q16HDRI中的图像大约为580 MiB;再大小控制源和结果 |
| 地图 | 256 米贝 | 内存标记的缓存也是堆积:内存+地图是1.75 GiB,在建筑的2 GiB最大下 |
| 磁盘 | 0 个 | 磁盘上没有像素缓存 : 在溢出到存储的浏览器中, 48 MP 调整大小需要几分钟; 任何内存一次失败 |
磁盘为 0, MPC( 将像素缓存持续到磁盘文件) 是
政策拒绝:使用 magick-open 页:1 .mpc. JPEG 2000以上 16名议员
被编码为1024x1024瓦,因此48MP的图像符合堆积.
超过极限, magirk 退出 1 与 width or height exceeds limit 或者说
cache resources exhausted,用于 identify -format,用于解码
图像( 平面) identify 财务报告和审定财务报表 identify -ping 只读标题).
-limit 只能降低这些。 直到7.1.2-34-1 宽度和高度为 16,000
px,它拒绝了比它宽的全景(homescoop#445). 为了抬起他们,
使用情况 magick-open (同一二进制带有上游的) policy-open.xml 从
etc/ImageMagick-7-open),或设置 MAGICK_CONFIGURE_PATH 转到该目录
(单位:千美元)magick -list policy 显示软件包安装地点:
magick-open -size 70000x500 xc:white long.png # wider than 64000 px
MAGICK_CONFIGURE_PATH=/path/to/package/etc/ImageMagick-7-open magick ...
标签仍然可以毫无限制地耗尽内存.
写入 HEIC / AVIF
这个软件包根本没有HEIC、HEIF或AVIF支持;即:
@ai-ecoverse/wasm-imagemagick-heif它只读它们。 上游
ImageMagick 写作时不会失败 : magick in.png out.heic (或 .heif, (中文(简体) ), .avif)指纹
no encode delegate for this image format 'HEIC' 作为 警告,写下
输入格式 (PNG) 下 .heic 名称和退出 0 个
(homescoop#940) (英语). 只有内置源如 gradient: 以 rc 1 失败.
检查结果为 identify out.heic,或写出PNG,JPEG,WebP或TIFF.
许可证
LICENSE 是图像Magick的. THIRD-PARTY-NOTICES.md 持有下列许可证:
图书馆 bin/magick.wasm 静态链接,包括GNU libiconv 1.19
(LGPL-2.1-或-后,通过libxml2)和Emscripten的运行时间.
默认字体在 etc/fontsGsfonts 8.11的URW Nimbus Sans, 属于
带有 gsfonts 字体例外的 GNU GPL: 您可以将这些字体放入自己的字体
非 GPL 文档. etc/fonts/COPYING 是GPL(第2版),并且
etc/fonts/README 是gsfonts的 README, 它声明例外。 这个
license 字段名称为 GPL-2.0-only WITH Font-exception-2.0,则
最近的 SPDX 表达式; README 的措辞是赠款 .
重新连接( LGPL)
bin/magick.wasm 将其图书馆静态链接。 重联包,你
需要链接 magick 再次反对自己的GNU libiconv(LGPL-2.1-后期,
通过 libxml2 或其任何其它库,是该程序上的一个单独的软件包
同一登记册:
@ai-ecoverse/wasm-imagemagick-relink, (中文(简体) ),
与本软件包的版本相同。 内容 share/imagemagick/relink/ 持有
magirk的物件,链接的每个静态库,链接的旗帜和
relink.sh。 。 。 .
标注4.0.23:
npm pack @ai-ecoverse/wasm-imagemagick-relink@<this version> && tar xzf ai-ecoverse-wasm-imagemagick-relink-*.tgz
bash package/share/imagemagick/relink/relink.sh /tmp/relinked /path/to/dir/with/your/libs
cp /tmp/relinked/magick /tmp/relinked/magick.wasm node_modules/@ai-ecoverse/wasm-imagemagick/bin/
工具箱住在这个软件包外面,以便运行时间下载保持小
(homescoop#593; 7.1.2-34-2至-34-4将其运入) share/) (中文(简体) ). 整个来源
构建是
packages/imagemagick/build.sh
及其食谱.