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


12

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を使用しています。


2
なぜ使用していyumますか?これは異なるディストリビューション(Red Hat&Fedora)のパッケージマネージャーであり、yumimagemagickのインストールに使用したことがある場合、ライブラリが見つからないことはまったく驚きません!あなたが何をしているかを本当に知らない限り、apt-getでソフトウェアをインストールするだけです!また、「Ubuntu 12」は十分に具体的ではありません...「12」で始まるUbuntuには、12.04と12.10の2つのバージョンがあります。Ubuntuのバージョンはリリース日に基づいています:12.04は12年の4月(月#04)にリリースされ、12.10は12年の10月にリリースされました。必ず指定してください!
12

Ubuntuリリース12.04(正確な)32ビットを使用していますが、yumでimagemagickをインストールしませんでした。代わりにtar xvfz ImageMagick.tar.gz、cd ImageMagick-6.8.0、cd ImageMagick-6.8.0-4、。/ configure 、make、sudo make install、sudo ldconfig / usr / local / lib
Samir Sabri

apt-get install libjpeg-devを試してください
Shashank Singla

それは本当に素晴らしい答えですhttp://askubuntu.com/a/746195
L.パーシー

JPEGが事前にパッケージ化されていない場合、imagemagickパッケージはどのように使用できますか?!それは、チーズやパン、トマトソースのないピザを売るようなものです。
シュリダールSarnobat

回答:


11

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

これは私のために働いた。.profileにexport LD_LIBRARY_PATH = $ LD_LIBRARY_PATH:/ usr / local / lib /を追加する必要がありました
-mv288

ソースから最初のjpegsrcのみをインストールし、ImageMagickを再インストールしただけでapt-get、それも機能しました。
kyng

6

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

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

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

しかし、通常、ソースから構築することは不必要に複雑になります。

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


ソースからビルドする特別な理由はありません。APT(apt-get、Synaptic、Software Centerなど)を使用してImagemagickをインストールすると、JPGファイルの問題が修正されます。Imagemagickのインストール方法を教えてください。あなたがしたようにAPTを使用して?
サミールサブリ

@SamirSabri:ソフトウェアセンターまたはSynapticを検索するだけです。または、タブ補完を使用apt-getしてコマンドを検出しますsudo apt-get install imagemagick
スコット

ところで、私の方法を使用してインストールを試みる前に、imagemagickをインストールする以前の試みをすべて削除することを強くお勧めします。そうしないと、競合が発生する可能性があります。
スコットセベランス

以前の試行を削除しましたが、次のようにjpgイメージを識別するときにエラーが発生します:sam @ ubuntu:〜/ RubymineProjects / project / tmp $識別1.jpg @ error / constitute.c / ReadImage / 550。
サミールサブリ

3

このno decode delegateエラーは、imagemagick(またはその一部)がファイルを見つけられないことに起因する可能性があります(非常に紛らわしいことに)。したがって、imagemagickを再インストールするために実行する前に、JPEG形式がサポートされているかどうかを確認しidentify -list formatconvert -list configureサポートされている場合は、問題はおそらく別の場所にあります。

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


1

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

sudo apt-get install imagemagick

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

sudo service apache2 restart

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


0

やってみました :

sudo apt-get install libjpeg62

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

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

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


私はあなたの解決策を試してみました:パッケージリストの読み取り...完了依存関係ツリーの構築状態情報の読み取り...完了libjpeg62はすでに最新バージョンです。0がアップグレードされ、0が新しくインストールされ、0が削除され、6がアップグレードされていません。しかし、jpgイメージの識別時にエラーが発生します:sam @ ubuntu:〜/ RubymineProjects / project / tmp $識別1.jpg識別:この画像フォーマット「1.jpg」のデコードデリゲートなし/ 550。
サミールサブリ

大丈夫、私はこれを見つけた:blog.ericlamb.net/2008/11/...、チェックして、私は、お返事に感謝をお知らせください。
リシコルベカール

私はちょうどあなたの最後のコメントを読む前にそれを修正した、おかげで、私は以下の私の答えでそれを持っている
サミルサブリ

いいね !!!:)
リシコルベカル

0

| 最も簡単な方法 | ソフトウェアセンターから「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画像を開くことができます。

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.