首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >需要合并2个eps文件才能在Java中生成output.eps

需要合并2个eps文件才能在Java中生成output.eps
EN

Stack Overflow用户
提问于 2019-05-22 21:16:41
回答 1查看 489关注 0票数 1

我有两个eps文件

a.eps

b.eps

我需要读取它们的内容,并创建一个包含a和b的新a.eps文件。

1.定位(x,y)

2.scaling

3.rotating

例如:如果

a.eps含量为X

b.eps含量为O

output.eps含量X

我正在尝试Graphics2D库,但是读取一个EPS文件和提取形状变得很有挑战性。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-23 08:08:29

如果坚持使用PostScript,这是微不足道的。EPS文件是“封装”的,也就是说它们是完全独立的。EPS的意图是,您可以将EPS文件直接插入到一个PostScript程序中,只知道它的大小和形状。

您所需要做的就是更改每个文件之间的CTM,以便它们出现在正确的位置(并在组合文件周围添加EPS文件的锅炉板)。PostScript (EPS是PostScript的一个子集)有一组丰富的操作人员。

因此,例如,要将EPS1和EPS2组合起来,并从组合中生成一个新的EPS,您可以这样做:

代码语言:javascript
运行
复制
%!PS-Adobe-2.0 EPSF-1.2
%%Creator:me, myself-
%%Title:combined EPS
%%CreationDate:23/5/19 9:32 AM
%%DocumentFonts:Helvetica-Bold
%%BoundingBox:0 0 612 792
%%EndComments

save
0 0 moveto
0.5 scale
...
... insert contents of EPS1 here
...
restore

save
306 0 moveto
0.5 scale
...
... insert contents of EPS1 here
...
restore

%%EOF

在媒体的左下角画EPS1,缩小50%,然后在底部画EPS2,从左边画306个点(4.25英寸),再缩小50%。

您的必须得到最终EPS的BoundingBox注释正确,这对于任何导入EPS的应用程序都是至关重要的。

如果你真的想要一个EPS文件,或者不想自己做所有的计算和锅炉板,那么你可以使用Ghostscript的eps2write设备来提供帮助。您仍然需要编写PostScript代码来定位EPS文件,但是程序可以更简单。以上面的例子为例:

代码语言:javascript
运行
复制
%!
save
0 0 moveto
0.5 scale
(/disk/path/EPS1.eps) run
restore
save
306 0 moveto
0.5 scale
(/disk/path/EPS2.eps) run
restore
showpage

将其保存为一个方便的文件,例如input.ps,然后执行:

代码语言:javascript
运行
复制
gs -sDEVICE=eps2write -sOutputFile=combined.eps input.ps

结果应该是一个新的单一EPS文件,包含两个原始的EPS文件的内容,所有的BoundingBox和其他样板照顾您。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56265133

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档