web-dev-qa-db-ja.com

JPEG画像形式のサポートを追加する方法

Imagemagickをインストールした後、jpgイメージで次のようにテストしました。

identify 1.jpg

しかし、私はこの結果を得ました:

identify: no decode delegate for this image format `1.jpg' @ error/constitute.c/ReadImage/550.

次に、JPEG形式のサポートを追加しようとしました:

yum install libjpeg libjpeg-devel

しかし、私は得た:

Setting up Install Process
No package libjpeg available.
No package libjpeg-devel available.
Nothing to do

私はapt-getを更新する必要があると思いました、私はやった:

apt-get install libjpeg libjpeg-devel

しかし、私は得た:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package libjpeg
E: Unable to locate package libjpeg-devel

これらのライブラリをインストールする簡単な方法はありますか? Ubuntu 12.04を使用しています。

12
Samir Sabri

http://www.ijg.org/files/jpegsrc.v8c.tar.gz で利用可能なjpegエンコーディングライブラリをソースからインストールすることで問題を修正しました。

cd /usr/local/src
tar xvfz jpeg-8c.tar.gz
cd jpeg-8c
./configure --enable-shared --prefix=$CONFIGURE_PREFIX
make
Sudo make install

次に、ソースからImageMagickを再インストールしました。

cd /usr/local/src
tar xvfz ImageMagick-6.6.9-5.tar.gz
cd ImageMagick-6.6.9-5
export CPPFLAGS=-I/usr/local/include
export LDFLAGS=-L/usr/local/lib
./configure --prefix=/usr/local --disable-static --with-modules --without-Perl --without-magick-plus-plus --with-quantum-depth=8 --disable-openmp
make
Sudo make install

動作するようになったので、次のようにテストしました。

sam@ubuntu:~/RubymineProjects/project/tmp$ identify 1.jpg
1.jpg JPEG 128x106 128x106+0+0 8-bit sRGB 2.22KB 0.000u 0:00.000
11
Samir Sabri

ソースからImageMagickをビルドする場合、すべての依存関係を手動で解決する準備をする必要があります。差し迫った必要がない限り、すべてのソフトウェアをリポジトリ(公式リポジトリまたはPPA)からUbuntuにインストールする必要があります。

APT(apt-get、Synaptic、Software Centerなど)を使用してImagemagickをインストールすると、マシンで確認したとおり、JPGファイルは正常に機能します。

ソースからビルドする理由が最新バージョンを取得することである場合は、最新バージョンを追跡するPPAを探してください。開発を支援するためにソースからビルドする場合、Imagemagickの人々から、ソースからビルドを成功させるために必要なものを見つける必要があります。 ./configureにフラグを指定するか、./configureを実行する前に開発ライブラリをインストールする必要がある場合があります。

しかし、通常、ソースからビルドすると、不必要に複雑になります。

ああ、ところで、Red HatとUbuntuはパッケージに異なる名前を使用しています。したがって、yumがパッケージの欠落について不平を言う場合、apt-getがその名前のパッケージを見つけられなくても驚くことではありません。特に理由がない限り、システム上でパッケージマネージャーを混在させないでください。それでも、他のすべてのオプションを最初に試してください。

6
Scott Severance

no decode delegateエラーは(紛らわしいことに)imagemagick(またはその一部)がファイルを見つけられないことに起因することに注意してください。したがって、imagemagickを再インストールするために実行する前に、identify -list formatおよびconvert -list configureでJPEG形式がサポートされているかどうかを確認してください。

たとえば、convert -resize 50% foo\ bar.jpgno decode delegate for this image formatエラーを示しましたが、convert -resize 50% 'foo bar.jpg'は完全に機能しました。

3
Tgr

Php5-imagickをインストールしたばかりの場合は、imagemagickフルパッケージもインストールしてみてください。これにより、jpegなど、必要なすべてのライブラリがインストールされます。

Sudo apt-get install imagemagick

次に、Webサーバーを再起動して、すべてのライブラリを再ロードします。

Sudo service Apache2 restart

JPEGデコードはエラーなしで動作するようになりました。

1
Epskampie

| 最も簡単な方法 |ソフトウェアセンターから「Synaptic Package Manager」をダウンロードします。 ->古いlibjpegパッケージを削除しました*-> libjpeg8とlibjpeg-turbo8&libjpeg-turbo8-devを再インストールしました。

PS:同じエラーが発生していました。解決するのに2日かかりました。 jpg画像を表示しようとしたときのエラー:

no decode delegate for this image format `jpeg' @ error/constitute.c/readimage/504

次に、ソフトウェアセンターから「Synaptic Package Manager」をダウンロードします。 ->古いlibjpegパッケージを削除しました*-> libjpeg8とlibjpeg-turbo8&libjpeg-turbo8-devを再インストールしました。

(* synapticsパッケージマネージャーは他のパッケージとの依存関係を表示し、古い独立したlibjpegパッケージのみを削除します)

その後、エラーを恐れることなくJPEG画像を開くことができます。

それが役に立てば幸い :)

0
Kevin Patel

やってみました :

sudo apt-get install libjpeg62

上記のコマンドが機能しない場合は、次のリンクをご覧ください。

http://psx-scene.com/forums/f150/help-install-libjpeg-libpng-ubuntu-9-10-livecd-64122/

これが役に立ちましたら、幸運を祈ってください... :)

0
Rishi Kolvekar