• 締切済み

PerlMagickで「JPEG」、「PNG」の場合、画像が表示されません

Perlのモジュールである「PerlMagick」を利用するために、あるサイトの記事を参考に「ImageMagick」をインストールしました。 そこで、ある画像ファイルのサイズを変更して表示させるプログラムを作成したのですが、一応動作しました。 しかし、画像ファイルが、「JPEG」、「PNG」の場合は、画像が表示されません。 「GIF」、「BMP」は、表示されます。 ところが、これを別のサーバで試したところ、「JPEG」でも表示されます。 当サーバでは画像が表示されないようです。 ちなみに別サーバとは、もともと「PerlMagick」がインストールされている他のレンタルサーバです。 念のため、バージョン違いもインストールしましたが、状況は変わりません。 ネット上の情報によりますと、libjpegがインストールされていない、あるいは所定の場所にない場合にそのような症状となることがあるようです。 「jpegsrc.v6b.tar.gz」をインストールしましたが、症状は改善されません。 インストール結果はつぎの通りです。 /usr/bin/install -c cjpeg /usr/local/bin/cjpeg /usr/bin/install -c djpeg /usr/local/bin/djpeg /usr/bin/install -c jpegtran /usr/local/bin/jpegtran /usr/bin/install -c rdjpgcom /usr/local/bin/rdjpgcom /usr/bin/install -c wrjpgcom /usr/local/bin/wrjpgcom /usr/bin/install -c -m 644 ./cjpeg.1 /usr/local/man/man1/cjpeg.1 /usr/bin/install -c -m 644 ./djpeg.1 /usr/local/man/man1/djpeg.1 /usr/bin/install -c -m 644 ./jpegtran.1 /usr/local/man/man1/jpegtran.1 /usr/bin/install -c -m 644 ./rdjpgcom.1 /usr/local/man/man1/rdjpgcom.1 /usr/bin/install -c -m 644 ./wrjpgcom.1 /usr/local/man/man1/wrjpgcom.1 また、 /usr/lib には、 libjpeg.so.62 libjpeg.so.62.0.0 があります。 どなたか、詳しい方、教えてください。

  • Perl
  • 回答数2
  • ありがとう数1

みんなの回答

回答No.2

linuxのパッケージの管理は専門ではないので外しているかもしれませんが、make cleanとかmake distcleanとかしてからconfigureしないと、再コンパイルになっていない気がします。 checking for jpeg_read_header in -ljpeg... no とあるので、現状ではまだlibjpegがうまく認識されていないっぽいです。 # パッケージのインストールが得意な人の回答を待った方がいいかも

hirohiro5681
質問者

補足

ご回答ありがとうございました。 しかし残念ながら改善されません。 [root@www ImageMagick-6.2.6]# make clean make: *** `config.status' に必要なターゲット `ChangeLog' を make するルールがありません. 中止。 [root@www ImageMagick-6.2.6]# make distclean make: *** `config.status' に必要なターゲット `ChangeLog' を make するルールがありません. 中止。 このようなメッセージが出ました。 configure時にも、前回と同じ checking for jpeg_read_header in -ljpeg... no が表示されていました。 make cleanとかmake distcleanとかするとき何か必要なことはあるのでしょうか?

回答No.1

インストールしたのが遥か昔なのであっているかはわかりませんが、ImageMagickのconfigure時にそれらの設定がされるはずです。 ですので、関連するライブラリを全部入れてからもう一度ImageMagickのconfigure、make、make installとすれば、利用できるようになるのではないでしょうか? configure時のログに注目してみてください。

hirohiro5681
質問者

補足

回答ありがとうございます。 まだ状況は改善されていないのですが、 > configure時のログに注目してみてください。 ということでしたので、「JPEG」関係のものを挙げてみました。 checking for JPEG support ... checking jpeglib.h usability... no checking jpeglib.h presence... no checking for jpeglib.h... no checking for jpeg_read_header in -ljpeg... no checking for JPEG library is version 6b or later... no no checking if JPEG package is complete... no checking for JPEG version 2 support ... checking if JPEG version 2 support package is complete... no さらに make、make install 時にはつぎのような結果がでました。 [root@www ImageMagick-6.2.6]# make make: *** `config.status' に必要なターゲット `ChangeLog' を make するルールがありません. 中止。 [root@www ImageMagick-6.2.6]# make install make: *** `config.status' に必要なターゲット `ChangeLog' を make するルールがありません. 中止。 この後「PerlMagick」のインストールも再度やりました。 この流れは、つぎのサイトを参考に行いました。 ▼STUDY RESCUE スタディーレスキュー - ImageMagick http://www.rescue.ne.jp/study/ImageMagick/

関連するQ&A

  • png2jpeg・resize.pl

    png2jpegと、resize.plを使ってサムネイルを作成しようと考えています。 ファイルをアップロードするupload.cgiは作成し、画像をサーバーに転送することはできるのですが、 上の2つのファイルをどのように関連付ければ良いのかがわかりません。 check.cgiを見ると、 PerlMagick NG NetPBM + libjpeg-progs NG cjpeg -> /usr/bin/cjpeg djpeg -> /usr/bin/djpeg pngtopnm -> Not Found giftopnm -> Not Found pnmscale -> Not Found repng2jpeg(i386-linux) dynamic :OK standard:OK static :OK libjpeg -> /usr/lib/libjpeg.so.62 libpng -> /usr/lib/libpng.so.2 libz -> /usr/lib/libz.so.1 libm -> /lib/libm.so.6 libc -> /lib/libc.so.6 ldlinux -> /lib/ld-linux.so.2 ---------------------------------------- ./repng2jpeg Found SIZE : 59556 MD5 : 6f03c0ec0 ./repng2jpeg Permisson:OK ./repng2jpeg Exec:OK ->(repng2jpeg TestMode:OK version 1.0.4) $ldd ./repng2jpeg libpng.so.2 => /usr/lib/libpng.so.2 (0x00a36000) libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x002c2000) libc.so.6 => /lib/tls/libc.so.6 (0x005fe000) libm.so.6 => /lib/tls/libm.so.6 (0x00736000) /lib/ld-linux.so.2 (0x005e4000) ---------------------------------------- と表示され、使用可能な状態ではあると思います。 以上よろしくお願いします。

  • flexをインストールできない

    現在、php-4.3.8をインストールしているときに、flexというツールをインストールしてくださいとでたので インストールすると、 /bin/sh ./mkinstalldirs \ /usr/local/bin /usr/local/lib /usr/local/include /usr/local/man/man1 rm -f /usr/local/man/man1/flexdoc.1 1345/usr/bin/install -c -m 644 ./flex.1 /usr/local/man/man1/flex.1 make: 1345/usr/bin/install: コマンドが見つかりませんでした make: *** [install.man] エラー 127 とでてしまいます。 いろんなサイトを見ていると、普通にできるみたいですが、できなくて困っています。 どなたかご存知のかたがいらっしゃましたらお教えください。

  • Image::Magickの呼び出し

    前の質問が未解決なのですが、同時に進めていたこちらも行き詰ってしまったので恐縮ながら質問です。 Image::Magickを使用したく、以下のサイトを参考にインストールを試みました。 http://www.ss.iij4u.or.jp/~somali/web/_imagemagick.html (当方の環境は、Win XP Home/Apache 2.0をローカルサーバとし、ActivePerl 5.8.7を使用しています。) しかしページどおりに作業をしても、CGIでuse Image::Magickを書いたラインがエラーを返してきます。Can't locate Image/Magick.pm in @INC (@INC contains: C:/usr/local/lib C:/usr/local/site/lib .) at 【CGIファイルの場所】 と返されていました。 解決のために以下のことを確認・実行しました。 (1)(インストーラではチェックを入れたのに)PerlMagickがPerlのsite/libにインストールされておらず、C直下のImageMagickフォルダのなかにありました。(アンインストールの上再インストールをしても同様) よってPerlMagickフォルダ内のReadMeに倣い、PPMからImageMagick.ppdを実行、インストールしました。PPMからquery *を実行すると、ちゃんとインストールされているのが確認できました。 (2)Magick.pmの入っているImageフォルダをC:\Perl\binフォルダの中にコピーし、サーバを再起動。(C:\Perl\binにパスが通っていることは、コマンドラインからPATHを実行して確認済。) それでもやはり動きません…。PCを再起動しても同様です。同じエラーが返ってきます。 モジュールを使うのは初めてで、CPANなどよくわからない部分も多いのですが、もうこれ以上何をしたらいいのかわかりません…。 何か解決策をご存知の方いらっしゃいましたらよろしくご教授下さい。

    • 締切済み
    • CGI
  • JPEGで、ファイルサイズ55KB以下にできないファイルがある

    デジカメなどで撮ったJPEGファイルを、画像サイズを縮小する作業をしています。 この作業は、携帯電話からURLを指定して画像を表示させることを目的としています。 多くのJPEGは、画像サイズを240x320に縮小することでファイルサイズが10~30KBytesになりますが、一部のJPEGファイルでは画像サイズを縮小しても、圧縮率を下げても、どうやってもファイルサイズが55KBytes以下になりません。 これだと、ファイルサイズが大きすぎて携帯電話で読むことができません。 作業は、LinuxでImagemagick(PerlMagick)を使用しています。WindowsでPhotoshop6.0を使用してもファイルサイズ55KBytes以下にはできませんでした。 試しに画像サイズを1 x 1まで縮小してみましたが、それでもファイルサイズは55KBytesのままです。 (1),ヘッダーが55KBytesもあるとは思えませんが、 どうしてファイルサイズを55KBytes以下にすることができないケースがあるのでしょうか? (2),このようなJPEGファイルのサイズを下げる方法はありませんでしょうか? できればImagemagick(PerlMagick)を使用してファイルサイズを下げる方法があれば助かります。 ■環境 SuSE Linux 9.3 ImageMagick-5.5.7-36.tar.gz ■Imagemagickでやってみたこと 圧縮率を下げる $image->Set(quality=>10); 画像サイズを縮小する $image->Resize(width=>1, height=>1); 以上、よろしくお願いします。

  • HPのJPEG画像が小さく表示されるときがある

    GoLiveCSでHPを作成しています。 CSSでJPEG画像がテキストの右に回りこむように制御しているのですが、サーバーにアップすると、JPEG画像がとても小さく表示されてしまうことがあります。 (かと思えば何もしなくても正常に表示されることもあり...。) JPEG画像が小さく表示されたり、正常になったりするのは一体何がいけないのか...  もしご存知の方がいらっしゃったらお教えいただけますでしょうか?

  • htmlで画像が表示されない

    CGIを勉強し始めた者です。 手始めにCGIを使わずに画像表示をさせたところ早速つまづきました。 アドバイスお願いします。 vine linux 6.3 に apache2.4をソースからインストールしました。 /usr/local/apache2/htdocs に以下の cgi-test.html を置きました。 <html> <head> <meta http-equiv="Content-Type:" content="text/html; charset=UTF-8"> <title>CGI TEST</title> </head> <body> <h3>CGI TEST</h3> <img src="../cgi-bin/a0.gif">&nbsp;<img src="./a1.gif"> </body> </html> パーミッションは 755 root root cgi-test.html /usr/local/apache2/cgi-bin のパーミッションも 755 root root です。 ここに 数字0~9のgif画像を置いています。パーミッションは 644 root root 表示されないので/usr/local/apache2/htdocsにa0.gif, a1.gif を置いてみました。 パーミッションは 同じく 644 root root です。 数字0は表示されませんが、1は表示されます。 なぜ0が表示されないのかお教えください。

    • 締切済み
    • CGI
  • JPEG画像表示プログラムについて

    こんにちわ。お時間ありましたらご教授お願いします。 JPEG画像を表示させることができるプログラム(C言語)を作成したいのですが、うまくいかず困っています。私はJAVAを少し触った程度なので知識がなく困っております。 添付させていただいたプログラムはbmp画像を表示させることはできるのですが、JPEGライブラリを使ってJPEG画像を表示できるプログラムを作りたいと思っております。 説明不足でわかりにくいですが、ご教授お願いします。 開発環境はCです。よろしくお願いします。

  • jpeg画像表示について

    xp-sp2です。 先日訳あってOSを再インストールしました。 以前Windows 画像とFAX ビューアで表示されていた画像が インストールした後には表示できません。 (bmp,gifは問題ありません) 別媒体に保存していた同じデータを ディスク内の同データに上書きしたものと 新規にディスクに保存したjpegデータは表示できます。 他のjpeg表示可能なアプリ(今回はpaintshop)で表示しようとしても 再インストール前のjpegデータは対応していないとのメッセージで 表示できません。 以前の環境から変えたのは xp-sp1からsp2にしたのと ディスクフォーマットをfat32からntfsにしました。 画像データが多数あり困っています。 susie等使ってみましたが表示できません。 どなたか教えてください。

  • ドコモの待受画像でJPEGが表示されなくなったのですが・・・

    以前にもパソコンで作ったJPEG画像を、サーバにupして、直接URLにアクセスして画像をとりこんで待受画面に設定する・・・ということをやったのです。 その時にはすんなり表示されたのですが、今日同じようにやってみると表示されず、×マークが表示されました。GIFにすると表示されたんですが。 最近はこの方法では見れなくなった!とかありますか?変な質問をしてすみません。何か良い方法があったら教えてください。 ちなみに前は、N252iとSO505isで表示は確認できました。

  • PerlでImage::Magickを使いたい

    PerlでImage::Magickを使いたい ローカルサーバ上でImage::Magickを使いたいのですが、 設定がうまくいかないので質問です。 Win XP AN HTTPD 1.42p ActivePerl 5.10.1.1007 ImageMagick 6.5.9 Q8 ActivePerlは「C:\usr\local\」以下にインストールしました。 ImageMagickは 「ImageMagick-6.5.9-3-Q8-windows-dll.exe」をダウンロードし、インストールしました。 インストール時に「□Install PerlMagick for ActiveState Perl v5.10.1 build 1007」にチェックを入れました。 インストール場所は初期設定のまま、「C:\Program Files\ImageMagick-6.5.9-Q8」としました。 環境変数の設定が必要との説明を見かけたので、 「MAGICK_HOME」「MAGICK_PATH」を作り、値を「C:\Program Files\ImageMagick-6.5.9-Q8」としました。 set MAGICK_HOME で、 MAGICK_HOME=C:\Program Files\ImageMagick-7.5.9-Q8 と出るのを確認しました。MAGICK_PATHも同様です。 (説明しているサイトが複数あり、表記が違っていたので両方作ってみました) コマンドプロンプトで ppm list すると、 ウ Image-Magick ウ 6.5.9 ウ 9 ウ 863KB ウ site ウ と出てきます。 設定後再起動を行い、MT4のシステムチェックを行うと、 Image::Magick サーバーに Image::Magickか、Image::Magickの動作に必要な他のモジュールがインストールされていません。 アップロードした画像のサムネイルを作成する場合に必要となります。 Image::Magickのインストールはインストールマニュアルに沿って行ってください。 と出てしまいました。 以前perlで作成したcgiも動作しません。 ImageMagickのバージョンを微妙に変えてみるなども試しましたが、もうさっぱりです。 助けてください。お願いします:)

    • ベストアンサー
    • Perl