如何找到ImageMagick配置文件的路径

如何找到ImageMagick配置文件的路径,imagemagick,rmagick,Imagemagick,Rmagick,我正在尝试加载一个ICM颜色配置文件,该文件与使用RMagick的主ImageMagick配置文件(colors.xml等)一起存储。我希望确保在使用稍微不同的ImageMagick设置和/或版本的部署中始终提供文件的正确路径。是否有办法从ImageMagick(类似于Magick配置)获取此位置 这就是我现在拥有的,但它似乎很脆弱: MAGICK_PREFIX = `Magick-config --prefix`.strip! MAGICK_VERSION = `Magick-config

我正在尝试加载一个ICM颜色配置文件,该文件与使用RMagick的主ImageMagick配置文件(colors.xml等)一起存储。我希望确保在使用稍微不同的ImageMagick设置和/或版本的部署中始终提供文件的正确路径。是否有办法从ImageMagick(类似于Magick配置)获取此位置

这就是我现在拥有的,但它似乎很脆弱:

MAGICK_PREFIX  = `Magick-config --prefix`.strip!
MAGICK_VERSION = `Magick-config --version`.strip!.split(/\s/).first

RGB_COLOR_PROFILE = "#{MAGICK_PREFIX}/share/ImageMagick-#{MAGICK_VERSION}/config/sRGB.icm"

我没有完美的答案,但你可以

$ convert -list color | grep Path: | awk '{print $2}'
/usr/lib/ImageMagick-6.3.7/config/colors.xml

如果响应是[内置的],请尝试另一个-list值。

尝试这些并解析stdout/stderr。第一个应该永远有效

convert -debug configure rose: info:

convert -list configure

这些文件可以位于任意数量的位置。看见设置$MAGICK_CONFIGURE_路径,它将是第一个查找的位置。接下来,我们来看$PREFIX/etc/ImageMagick-7。IM 6也一样--$PREFIX/etc/ImageMagick-6。