使用图像转换分发ruby脚本

我想分发一个Ruby脚本的Mac / Windows可执行文件(除了其他东西)将从/到普通图像格式转换为.xpm / X PixMap( 维基百科 )

我知道以下gem作为预装库(主要是ImageMagick)的包装:RMagick,Mini magick,Image science,Magickly,Devil,Im magick,Free-image等。

根据我的理解,问题归结为以下几点:Imagemagick和Freeimage需要安装在系统上,而不仅仅是在脚本中以相对方式指向。 并且Ruby2Exe,Ocra,Crate没有将库和我的脚本作为可执行文件分发的function。

有没有技术原因我还没有发现gem可以在不使用外部库的情况下执行此操作? 我的问题有哪些可能的解决方案?

一种可能的方案:

找到一个免费的命令行实用程序,它可以执行您需要的转换。 最好的是不需要任何特殊安装(只需将EXE文件放入硬盘驱动器并运行它)。

在Ruby程序中,使用反引号调用命令行实用程序。 如果它不在系统路径上,则可能必须将其作为utility.exe而不是utility调用。 因此,无论当前工作目录如何,您都可以正确调用它,您可能必须使用使用File.dirname(__FILE__)File.expand_path生成的绝对路径。 或者在尝试调用该实用程序之前更改工作目录。

最后,您只需将该实用程序与Ocra生成的Ruby EXE一起打包即可。

我建议这一切,因为我知道尝试在Windows系统上安装RMagick可能会非常痛苦。

Interesting Posts