Imagemagick 缩小大EPS图片的比例,不产生尖锐的结果,并使用剪切路径
我得到了一个EPS文件(3854x8000),我想缩小它,因为这是一种很大的方式,但不会丢失剪切路径。(如果可能的话-- 我尝试使用ImageMagick缩小它:Imagemagick 缩小大EPS图片的比例,不产生尖锐的结果,并使用剪切路径,imagemagick,scale,clipping,eps,Imagemagick,Scale,Clipping,Eps,我得到了一个EPS文件(3854x8000),我想缩小它,因为这是一种很大的方式,但不会丢失剪切路径。(如果可能的话-- 我尝试使用ImageMagick缩小它: convert picture.eps -resize 768x1024 picture_small.eps 结果是紧张的。直到现在我还没有尝试保持剪辑路径,因为我不知道如何 到目前为止,如果没有找到任何解决这个问题的方法 ImageMagick真的能做到这一点吗 澄清: /opt/ghostscript-9.15-linux-x8
convert picture.eps -resize 768x1024 picture_small.eps
结果是紧张的。直到现在我还没有尝试保持剪辑路径,因为我不知道如何
到目前为止,如果没有找到任何解决这个问题的方法
ImageMagick真的能做到这一点吗
澄清:
/opt/ghostscript-9.15-linux-x86_64/gs-915-linux_x86_64
-dSAFER -dBATCH -dNOPAUSE -dNOPROMPT
-dMaxBitmap=500000000
-r144 -sDEVICE=eps2write
-sOUTPUTFILE=out.eps
dreieck_rgb_pfad2_photoshop.eps
(由Alex编辑-因为我是mht的一名同事,正在处理同一问题)
EPS文件-以及JPG可以包含剪切路径(德语:Freistellungspfad)。这是一个矢量路径,通常围绕光栅图像,指定应剪切背景的哪一部分。使用ImageMagick,剪切路径显示在identifite-verbose
的输出中,如下所示:
Clipping path:
<?xml version="1.0" encoding="iso-8859-1"?>
<svg width="240" height="240">
<g>
<path style="fill:#00000000;stroke:#00000000;stroke-width:0;stroke-antialiasing:false" d="
M 53,133
L 126,63
L 151,163
"/>
</g>
</svg>
convert -density 300 picture.eps -resize 768x1024 picture_small.eps
以及:
在读取文件之前,请尝试设置密度,如下所示:
Clipping path:
<?xml version="1.0" encoding="iso-8859-1"?>
<svg width="240" height="240">
<g>
<path style="fill:#00000000;stroke:#00000000;stroke-width:0;stroke-antialiasing:false" d="
M 53,133
L 126,63
L 151,163
"/>
</g>
</svg>
convert -density 300 picture.eps -resize 768x1024 picture_small.eps
你没有说为什么你的EPS“太大了”。是因为尺寸太大,还是因为文件太大
要决定缩小EPS文件的最佳方法,必须知道所包含的PostScript代码的确切性质 EPS可以包含在页面上呈现的两种不同类型的图形元素:
- 一个比纯矢量原始文件大得多的文件
- 由于像素化,质量下降,同时丢失了所有矢量和字体
convert picture.eps -resize 768x1024 picture_small.eps
- 您有更多的命令行参数可用于微调输出。(ImageMagick在此阶段仅知道要传递给Ghostscript的分辨率请求,使用
)-density NNN
- 您可以选择不同的输出格式,这取决于您希望从初始EPS创建的输出EPS的最终用途。也许应该将其放入Word、LaTeX或Libre/OpenOffice文档中作为插图?是否只需打印?是否将其转换为PNG或JPEG
- 您甚至可以再次请求EPS(在最新版本中使用参数
运行它)。这可以将(大多数)矢量元素(包括字体)从原始文件保留到输出EPS中-sDEVICE=eps2write
- 您可以请求PDF输出(使用
运行)。这还保留了矢量和字体。它可以用于直接包含到LaTeX文档中(无需先转换为图像)-sDEVICE=pdfwrite
- 您甚至可以再次请求EPS(在最新版本中使用参数
更新:
/opt/ghostscript-9.15-linux-x86_64/gs-915-linux_x86_64
-dSAFER -dBATCH -dNOPAUSE -dNOPROMPT
-dMaxBitmap=500000000
-r144 -sDEVICE=eps2write
-sOUTPUTFILE=out.eps
dreieck_rgb_pfad2_photoshop.eps
在快速查看新提供的样本EPS(参见OP的“澄清”部分)后,我可以陈述以下内容:
- 开头的一块无法识别的垃圾字节(
)64400字节
- 一个真正的EPS文件,从字节偏移量64400后开始,由以下内容组成:
- 13行PostScript标题
- 156行,包含较小的嵌入式预览图像(
)4874字节
- 包含十六进制编码ICC配置文件的100行(
)6749字节
- Photoshop大约300行XML元数据(
)18746字节
- 大约7200行图像光栅数据,最有可能是TIFF(
)475213字节
500+kB
TIFF以再次将其包装到EPS中,那么您就做错了…
更新2:
/opt/ghostscript-9.15-linux-x86_64/gs-915-linux_x86_64
-dSAFER -dBATCH -dNOPAUSE -dNOPROMPT
-dMaxBitmap=500000000
-r144 -sDEVICE=eps2write
-sOUTPUTFILE=out.eps
dreieck_rgb_pfad2_photoshop.eps
我请一位朋友打开Adobe Photoshop CC安装的文件,放大三角形,截屏他看到的东西,然后把照片发给我。他做到了。放大