2

如何转换大图像并将其嵌入到 postscript 中?

我曾经将位图转换为十六进制代码并使用彩色图像进行渲染。它适用于小图标,但是当我尝试嵌入更大的图像时,我在 ghostscript 中遇到了 /limitcheck 错误。似乎ghostscript中的位图有内存限制。

我正在寻找一种解决方案,它可以在没有 3rd 方/预处理的情况下运行,而不是 ghostscript 本身。

4

3 回答 3

2

从 ImageMagick转换似乎是逐行读取编码的图像数据。在示例图像上尝试并读取 PS 输出。

于 2010-05-07T11:00:51.747 回答
1

免费矢量图形程序InkScape会将您的位图转换为嵌入转换后图形的易于理解的代码。

我们最近遇到了一个问题,我们将 postscript 代码从大型机发送到打印机。我们尝试使用 ImageMagik 对其进行转换,并让结果在 GhostScript 中工作,但我们使用的大型机语言在代码中存在大型机到打印机的传输问题。InkScape 转换更简单,更基础,我们能够轻松识别和删除临时代码。使用 ImageMagik 转换器 2 个月的图形问题在 3 小时内用新的 InkScape 图形解决了。

我认为您会对 InkScape 的结果感到满意,无论您是要转换图像还是有一些简单的 Postscript 图形示例。此外,如果您正在构建转换器,InkScape 是开源的!

于 2010-06-11T18:34:46.883 回答
1

Postscript 中的图像本身没有内存限制;但大多数 Postscript 解释器使用 16 位字段来表示复合对象的大小,因此所有字符串和数组(可能还有 dicts)都限制为 65536 个条目。

出于这个原因,一个常见的技巧(Adobe 自己在蓝皮书中向我们展示了)是图像(或彩色图像)数据采集过程从源文件中预读并以较小的字符串勺子馈送数据。但是您可以使用65536 string(可能稍微低一点,以确保“安全”)在每次调用时铲除更多数据。

绿皮书是最好的 Adob​​e 资源,可以帮助您在设计 PS 程序时考虑速度或大小(而不仅仅是“让它正常工作”)。如果您有更多的处理能力和更窄的带宽,也许您应该在数据采集过程中压缩所有内容并解压缩。

于 2012-09-21T04:10:43.593 回答