微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 imagemagick 将 EPS(EPT) 转换为 PNG/GIF 会创建额外的帧

如何解决使用 imagemagick 将 EPS(EPT) 转换为 PNG/GIF 会创建额外的帧

在带有 Imagemagick 7.0.10-59 的 Mac 上使用 Ghostscript 9.53。

EPS 上有一个 Tiff 预览,它被添加为 gif 中的框架或作为 PNG 的额外图像。它在更新 imagemagick 和 ghostscript 后开始发生。

没有 ghostscript 委托的 Ghostscript 9.51 和 imagemagick 7.0.10-0 没有这个问题。

命令:magick convert -verbose -density 200 -channel RGBA -colorspace RGB -alpha On my.eps my.gif

新的输出如下:

/var/folders/zb/ygl385yn3_ggw_bqpdp4940r0000gn/T/magick-3MLz7XbvUU4OJOQBAqLqB-7bteT5s-061 PNG 890x505 890x505+0+0 8-bit sRGB 23054B 0.020u 0:00.014
EPS:/var/folders/zb/ygl385yn3_ggw_bqpdp4940r0000gn/T/magick-tWS3M8-k1os9hbHqWGRzlibuupNgItzv=>/var/folders/zb/ygl385yn3_ggw_bqpdp4940r0000gn/T/magick-tWS3M8-k1os9hbHqWGRzlibuupNgItzv EPS 890x505 890x505+0+0 16-bit sRGB 23054B 0.000u 0:00.000
TIFF:~/Downloads/my.eps=>~/Downloads/my.eps TIFF 321x182 321x182+0+0 8-bit Palette sRGB 256c 148108B 0.000u 0:00.004
~/Downloads/my.eps[0] EPT 890x505 890x505+0+0 16-bit sRGB 23054B 0.010u 0:00.008
~/Downloads/my.eps[0] TIFF 321x182 321x182+0+0 8-bit Palette sRGB 256c 148108B 0.010u 0:00.000
[ghostscript library 9.52] -sstdout=%stderr -dQUIET -dSAFER -dBATCH -dnopAUSE -dnopROMPT -dMaxBitmap=500000000 -dalignToPixels=0 -dGridFitTT=2 '-sDEVICE=pngalpha' -dTextAlphaBits=4 -dGraphicsAlphaBits=4 '-r200x200' -g890x505 -dFirstPage=1 -dLastPage=1 -dEPSCrop  '-sOutputFile=/var/folders/zb/ygl385yn3_ggw_bqpdp4940r0000gn/T/magick-3MLz7XbvUU4OJOQBAqLqB-7bteT5s-06%d' '-f/var/folders/zb/ygl385yn3_ggw_bqpdp4940r0000gn/T/magick-vyRuqlNsQcaG9cv4dJXLql9ChPsp95-g' '-f/var/folders/zb/ygl385yn3_ggw_bqpdp4940r0000gn/T/magick-nK22ULA5kPuCN9Yq8dKM7E8NTQxI82vH'~/Downloads/my.eps=>~/Downloads/my.gif EPT 890x505 890x505+0+0 16-bit Palette sRGB 35c 18001B 0.960u 0:00.139
convert: Invalid TIFF directory; tags are not sorted in ascending order. `TIFFReadDirectoryCheckOrder' @ warning/tiff.c/TIFFWarnings/1044.

旧版本输出如下:

'gs' -sstdout=%stderr -dQUIET -dSAFER -dBATCH -dnopAUSE -dnopROMPT -dMaxBitmap=500000000 -dalignToPixels=0 -dGridFitTT=2 '-sDEVICE=pngalpha' -dTextAlphaBits=4 -dGraphicsAlphaBits=4 '-r200x200' -g890x505 -dEPSCrop  '-sOutputFile=/var/folders/6d/tw_d66k92ld2dc5wvtzxr4y00000gn/T/magick-40084UYHZpdfAwolz%d' '-f/var/folders/6d/tw_d66k92ld2dc5wvtzxr4y00000gn/T/magick-40084Zug0r87QHWuH' '-f/var/folders/6d/tw_d66k92ld2dc5wvtzxr4y00000gn/T/magick-40084JWA1MKLfJ5i7'
/var/folders/6d/tw_d66k92ld2dc5wvtzxr4y00000gn/T/magick-40084UYHZpdfAwolz1 PNG 890x505 890x505+0+0 8-bit sRGB 23054B 0.020u 0:00.013
EPS:/var/folders/6d/tw_d66k92ld2dc5wvtzxr4y00000gn/T/magick-40084Rxd2cgpYXsmR=>/var/folders/6d/tw_d66k92ld2dc5wvtzxr4y00000gn/T/magick-40084Rxd2cgpYXsmR EPS 890x505 890x505+0+0 16-bit sRGB 23054B 0.010u 0:00.000
~/Desktop/my.eps EPT 890x505 890x505+0+0 16-bit sRGB 23054B 0.000u 0:00.000
~/Desktop/my.eps=>~/Desktop/my.gif EPT 890x505 890x505+0+0 16-bit PaletteBilevelAlpha sRGB 3c 9061B 0.830u 0:00.121

有没有办法告诉 imagemagick 忽略 tiff 预览?

EPS File here

Bad Gif here

** 更新文件链接

解决方法

在 ImageMagick 7 中,使用magick not magick convert 和not convert。此外,如果您只有一个框架/页面并希望继续使用,则将 [0] 添加到您的输入图像中。所以试试

magick -verbose -density 200 -channel RGBA -colorspace RGB -alpha On my.eps[0] my.gif

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。