5

Mac OSXと自作を使用して、RMagickに旋風を巻き起こそうとしています。

バージョン: Mac OSX 10.7.5、HomeBrew 0.9.4、Ruby 2.0、Rmagick 2.13.2、ImageMagick 6.8.6-3。

という名前のファイルにある私のRubyコードは次のrename.rbとおりです。

require 'RMagick'
include Magick

cat = ImageList.new("test.jpg")
cat.display
exit

ここに私の端末出力があります:

rename.rb:5:in `display': delegate library support not built-in `test.jpg' (X11) @ error/display.c/DisplayImages/16067 (Magick::ImageMagickError)
    from rename.rb:5:in `<main>'

適切なデリゲートがインストールされているようです (ただし、私は ImageMagick の初心者なので、完全にはわかりません)。を実行するconvert -list configureと、次のようになります。

...
DELEGATES      bzlib fontconfig freetype jng jpeg png rsvg tiff xml zlib
...

何か案は?ありがとう!

4

1 に答える 1

12

画像は正常に読み取られ、処理されました。エラーはによってスローされcat.displayています。画像形式のデリゲートがありませんが、ウィンドウ表示のデリゲートではありません。

次のように入力すると、コマンド ラインに同じエラー メッセージが表示されます。

display test.jpg

したがって、これは Image Magick の問題であり、RMagick や Ruby の問題ではありません。

このdisplayメソッドは、Mac OS X のデフォルト機能ではない X11 ウィンドウで動作するように設計されているようです。X11 サービスとライブラリを含めて再構築できる場合があります。私は X11 のサポートに XQuartz を使用していますが、Image Magick の後にインストールしても(私が行ったように)、この問題は解決しません。したがって、私はあなたと同じエラーを受け取りますが、私は使用しません。コマンドラインで次のdisplayようなコマンドを使用するopen test.jpgか、または:

`open test.jpg`

ルビーから。これはプラットフォームに依存しないソリューションではありませんが、処理した画像を問題なく表示できます。

または、X11 をサポートする Image Magick と rmagick を再インストールすることもできます (もちろん、XQuartz などの X11 サービスがインストールされている場合)。

brew unlink imagemagick
brew install imagemagick --with-x11
gem install rmagick

これをテストしたところcat.display、表示ウィンドウが起動するように動作します。私は他のビューアを自分で使い続けると思いますが。

于 2013-08-09T15:54:52.857 に答える