【问题标题】:GraphicsMagick convert fails for fig to jpgGraphicsMagick 将 fig 转换为 jpg 失败
【发布时间】:2017-06-19 10:44:20
【问题描述】:

我正在尝试使用 GraphisMagick/ImageMagick 将 fig 文件转换为 jpg。当我尝试基本命令“gm convert input.fig output.jpg”时,它失败并显示以下错误消息。 GraphisMagick - gm convert:矩阵中不支持的单元格类型(input.fig)。 ImageMagick - 转换:UnsupportedCellTypeInTheMatrix `input.fig'@error/mat.c/ReadMATImage/838。 fig2dev(Transfig) - 支持在 imagemagick 中读取 fig 文件。我如何检查我是否有那个库?如果图书馆不可用,我该如何包含它。 我在 unix 机器上使用 yum install 安装了 grahicsmagick(1.3.25) 和 imagemagick(6.9.3-0)。

【问题讨论】:

  • 您能告诉我fig 文件是什么吗?它来自哪里 - 哪个应用程序创建它?
  • 我希望,无花果文件是矢量图。这些文件已经可用于我们的应用程序。希望 matlab 或一些工具生成这个。
  • identify -list delegate | grep fig 应该告诉你 ImageMagick 是否支持 fig 文件。我的说它将使用uniconvertor
  • FIG R FIG 图形格式需要 TransFig.
  • 识别-列表委托 | grep fig fig => "uniconvertor" "%i" "%o.svg"; mv "%o.svg" "%o"

标签: java imagemagick imagemagick-convert graphicsmagick


【解决方案1】:

我从未听说过fig 文件格式,但一些谷歌搜索告诉我有两种可能性,一种是专有的Matlab 格式,另一种是与xfig 绘图包相关的矢量文件。

我猜,形成错误消息,ImageMagick 认为你的是前者,Matlab,种类繁多,对阅读它们不满意,所以我想我会尝试阅读其他类型。

由于您没有提供示例,我知道 potrace 可以生成 fig 文件,因此我制作了一个示例 PNG 文件并将其(作为 PNM 文件)传递给 potrace 并制作了一个fig 文件:

convert start.png pnm: | potrace --backend xfig - > file.fig

该文件 (file.fig) 如下所示:

#FIG 3.2
#created by potrace 1.14, written by Peter Selinger 2001-2017
Portrait
Center
Inches
Letter
100.0
Single
-2
1200 2
0 32 #000000
0 33 #ffffff
6 1125 5286 9075 7913
3 1 0 0 0 32 50 0 20 0.000 0 0 0 4
1264 5385
1264 5513
8936 5513
8936 5385
0
0
0
0
3 1 0 0 0 32 50 0 20 0.000 0 0 0 4
1264 5641
1264 5769
8936 5769
8936 5641
0
0
0
0
3 1 0 0 0 32 50 0 20 0.000 0 0 0 4
1264 5897
1264 6025
8936 6025
8936 5897
0
0
0
0
3 1 0 0 0 32 50 0 20 0.000 0 0 0 4
1264 6152
1264 6280
8936 6280
8936 6152
0
0
0
0
3 1 0 0 0 32 50 0 20 0.000 0 0 0 4
1264 6408
1264 6536
8936 6536
8936 6408
0
0
0
0
3 1 0 0 0 32 50 0 20 0.000 0 0 0 4
1264 6664
1264 6792
8936 6792
8936 6664
0
0
0
0
3 1 0 0 0 32 50 0 20 0.000 0 0 0 4
1264 6920
1264 7048
8936 7048
8936 6920
0
0
0
0
3 1 0 0 0 32 50 0 20 0.000 0 0 0 4
1264 7175
1264 7303
8936 7303
8936 7175
0
0
0
0
3 1 0 0 0 32 50 0 20 0.000 0 0 0 4
1264 7431
1264 7559
8936 7559
8936 7431
0
0
0
0
3 1 0 0 0 32 50 0 20 0.000 0 0 0 4
1264 7687
1264 7815
8936 7815
8936 7687
0
0
0
0
-6

所以,如果您提供了一个示例文件,现在我们将在哪里!我们可以继续回答......

您可以将 fig 文件转换为 JPEG,甚至不需要像这样的 ImageMagick

fig2dev -L jpeg file.fig result.jpg

您可以将上述fig 文件转换为这样的PNG:

 fig2dev -L png file.fig result.png

【讨论】:

  • 感谢您的详细回复。 fig2dev 将解决这个问题,但我无法安装 fig2dev。默认情况下,imagemagick 不随 fig2dev 一起提供。你能给我命令在 unix 或 mac 中安装 fig2dev(单独或与 imagemagick 一起)吗?
  • 我按照“mcj.sourceforge.net/installation.html#install-transfig”这篇文章安装了fig2dev,但没有成功。
  • 我用 homebrew 安装了它——如果你还没有使用它,它是一个出色的 macOS 包管理器。如果你有 homebrew,那么命令就是brew install transfig
  • Mac 抛出以下错误。错误:没有名称为“transfig”的可用公式 ==> 正在搜索以前删除的公式...警告:自制/核心是浅克隆。要获得完整的历史运行: git -C "$(brew --repo homebrew/core)" fetch --unshallow 错误:未找到以前删除的公式。 ==> 正在搜索类似名称的公式... 错误:未找到类似名称的公式。 ==> 正在搜索水龙头...错误:在水龙头中找不到公式。
  • 有没有办法将 fig2dev 或 transfig 添加为 imagemagick 的委托?
猜你喜欢
  • 1970-01-01
  • 2013-05-15
  • 2018-10-17
  • 2018-10-27
  • 1970-01-01
  • 2016-06-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多