• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:さくらインターネットでImageMagickを使いたいです。)

さくらインターネットでImageMagickを使いたい

このQ&Aのポイント
  • さくらインターネットでImageMagickを使うことはできない
  • 回答者からの回答を理解できずに困っている
  • 調べたサイトでも解決策が見つからない

質問者が選んだベストアンサー

  • ベストアンサー
  • mtaka2
  • ベストアンサー率73% (867/1179)
回答No.1

ImageMagick は、「単独で動作する画像処理プログラム」です。 画像処理するためには、ImageMagickのプログラムを別途立ち上げたりします。 ですが、それではプログラム内から機能を呼び出すのが面倒なので、 各言語毎に、ImageMagick を内部的な機能として使えるようなものがいろいろ用意されています。 「IMagick」も、そういったインターフェースの一つであり、 PHP に IMagick をインストールすることで、 PHPプログラム内から直接 ImageMagick の機能を使えるようになります。 ですが、さくらさんの返答によると、IMagick は入っていないとのことですから、 質問者さんが書かれた「PHPからIMagickを通してImageMagickを使うプログラム」は動作しないのです。 「IMagick のインストール」はサーバ管理者にしかできません。利用者側では不可能です。 ですから、「利用者側の努力で、さくらインターネットで IMagick 用プログラムを動かせるようにする」のは不可能です。 一方、ImageMagick の機能は、上述の「独立したプログラム」で提供されており、それはさくらインターネットにもインストールされているわけですから、 それを直接呼び出すようにすれば、PHP から ImageMagick の機能を使うことは可能です。 そういった利用方法を示しているのが、質問者さんの挙げている最後のリンクである http://blog.tonx2.com/?p=184​ です。PHP の system 関数を使って、ImageMagickのプログラム(convert コマンドなど) を起動しています。 外部プログラムですので、基本的には画像は全てファイルを経由して行い、 処理内容は、コマンド引数で指定します。 convert コマンドの使い方は http://www.envinfo.uee.kyoto-u.ac.jp/user/susaki/image/magick_process.html なんかが参考になるでしょうか。 質問者さんがIMagick で処理しようとした内容も、 convert の引数にあると思います。 たとえば、PHPから system("convert -geometry 20% image.jpg image_small.jpg"); を実行すれば、image.jpg から、解像度を縦横1/5にした image_small.jpg が作られます。 そんな感じで、system関数を使えば、ImageMagick の機能が使えます。

RIN_LIN
質問者

お礼

ありがとうございます、解決しました! 根本的に間違っていたのですね、どおりで参考サイトを見てもわからなかったはずです… system関数というのもよくわからなかったのですが、mtaka2さんの回答のお陰で全て理解できました。 ありがとうございました!

関連するQ&A

専門家に質問してみよう