在 EPS 中创建一像素的空白边框



我正在尝试生成一个eps以包含在LaTeX文档中,并在图形内容周围使用1个像素的空白边框。 该图是我使用后记终端用 gnuplot 制作的图:

set terminal postscript enhanced eps color colortext 14 size 19cm,15cm font 'Courier-Bold,30'

这个图有很多空白,我想把它减少到1个像素。 我可以使用 epstool 实用程序将其裁剪为零空格边框:

epstool --bbox --copy input.eps output.eps

我找不到在不手动编辑.eps文件以更改边界框的情况下添加 1 个像素空白的方法。 像-l--loose)这样的实用程序可以选择ps2eps它完全符合我的需求。

(在最后一刻添加:刚刚看到你的答案,所以你可能不需要这个)

这在awk中很容易做到:

awk '/^%%(HiRes)?BoundingBox:/{print $1, $2-1, $3-1, $4+2, $5+2;next}{print}'

我最终编写了一个 python 函数来执行边界框扩展:

def expand_boundingbox(epsfile, outfile):
    with open(epsfile, 'r') as f:
        with open(outfile, 'w') as o:
            lines = f.readlines()
            for line in lines:
                line = line.split()
                if line[0] == '%%BoundingBox:':
                    line[1] = str(int(line[1]) - 1)
                    line[2] = str(int(line[2]) - 1)
                    line[3] = str(int(line[3]) + 2)
                    line[4] = str(int(line[4]) + 2)
                if line[0] == '%%HiResBoundingBox:':
                    line[1] = str(float(line[1]) - 1.0)
                    line[2] = str(float(line[2]) - 1.0)
                    line[3] = str(float(line[3]) + 2.0)
                    line[4] = str(float(line[4]) + 2.0)
                line = ' '.join(line)
                o.write(line+'n')

相关内容

  • 没有找到相关文章

最新更新