【问题标题】:converting a ps image to gif image with length x900 y800将 ps 图像转换为长度为 x900 y800 的 gif 图像
【发布时间】:2018-12-08 01:59:12
【问题描述】:

我有一个 ps 图像,我想将其转换为水平和垂直尺寸分别为 900 和 800 的 gif 图像。我尝试使用命令:

convert panel.gs -resize x800 y900 panel.gif

也可以:

convert panel.gs -resize 900x800 panel.gif

你能帮我调整一下转换命令,这样我就能得到想要的结果吗?

【问题讨论】:

  • 您可能希望在调整大小后使用(转义)感叹号以允许失真并获得准确的输出大小convert input.eps -resize 900x800\! result.gif

标签: image gif ghostscript postscript


【解决方案1】:

.gs 不是有效的后缀。你是说.ps吗?

Imagemagick 将需要 ghostscript 作为委托。您没有说出了什么问题,也没有说什么平台或什么版本的 Imagemagick。

如果图像的纵横比与您想要的最终尺寸不同,您将 1) 需要使用 ! 对其进行扭曲以适合,2) 调整其大小,然后扩展到您想要填充背景颜色的大小, 或 3) 使用 ^ 调整大小并将其裁剪为您想要的大小。

convert panel.ps -resize "900x800!" panel.gif

convert panel.ps -resize 900x800 -gravity center -background white -extent 900x800 panel.gif

convert panel.ps -resize "900x800^" -gravity center -extent 900x800 panel.gif

【讨论】:

    【解决方案2】:

    好吧,首先你还没有真正说出你已经尝试过的两个命令有什么问题.....

    您的 PostScript 程序可能不包含这样的“图像”,PostScript 不是位图格式,而是一种编程语言。

    您可以使用 Ghostscript 将 PostScript 渲染为图像,然后使用 ImageMagick 调整该图像的大小,可能您可以将这两个步骤结合起来,或者只执行一次转换,这取决于您究竟想要发生什么,即不清楚。

    如果(例如)您的 PostScript 程序请求 9 英寸 x 8 的媒体尺寸,那么您只需使用 -r100 将分辨率设置为 100 dpi 即可创建位图图像。

    如果您希望图像在每个方向上的缩放比例不同,则需要设置非方形分辨率。例如,如果 PostScript 程序请求 9 英寸 x 4 的媒体,那么您需要将分辨率设置为 100x200 才能获得正好 900 x 800 像素的图像。为此,您可以使用 -r100x200

    从 PostScript 的角度来看,另一种方法是将媒体大小设置为给定的 以像素为单位的值(使用 -g900x800)并设置 -dDFIXEDMEDIA 以防止 PostScript 程序更改它。然后您可以使用-dFitPage,这将使 Ghostscript 缩放内容以适应页面。但是,它会在两个方向上均等地缩放内容,这可能会在边缘留下空白。

    现在,由于 Ghostscritp 不直接写入 GIF,您需要将您选择的任何位图格式加载到 IM 中才能将其写为 GIF,所以也许最简单的解决方案就是使用 Ghostscript 将 PostScript 渲染到定义的分辨率(例如 100 dpi),然后将该图像加载到 IM 并在那里重新缩放。

    由于 IM(因此转换)使用 Ghostscript 来处理 PostScript 程序,这就是现在正在发生的事情,所以我不清楚您的问题是什么。

    【讨论】:

      猜你喜欢
      • 2011-02-01
      • 2014-07-23
      • 2013-05-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-16
      • 1970-01-01
      • 2011-05-11
      相关资源
      最近更新 更多