Come aggiungere il supporto per il formato immagine JPEG


12

Dopo aver installato Imagemagick, l'ho provato con l'immagine jpg, in questo modo:

identify 1.jpg

Ma ho ottenuto questo risultato:

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

Quindi, ho provato ad aggiungere il supporto per il formato JPEG:

yum install libjpeg libjpeg-devel

ma ho ottenuto:

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

Pensavo di dover aggiornare apt-get, ho fatto:

apt-get install libjpeg libjpeg-devel

ma ho ottenuto:

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

C'è un modo semplice per installare quelle librerie? Sto usando Ubuntu 12.04.


2
Perché stai usando yum? Questo è il gestore dei pacchetti per una diversa distribuzione (Red Hat e Fedora), e se hai usato yuml'installazione di imagemagick, non sono affatto sorpreso che non riesca a trovare le librerie! Dovresti installare solo software con apt-get se non sai davvero cosa stai facendo! Inoltre, "Ubuntu 12" non è abbastanza specifico ... Esistono due versioni di Ubuntu che iniziano con "12": 12.04 e 12.10. Le versioni di Ubuntu si basano sulla data di rilascio: 12.04 è stato rilasciato aprile (mese n. 04) del '12 e 12.10 è stato rilasciato ottobre del '12. Si prega di essere sicuri e specificare!
trentatré

Ho Ubuntu versione 12.04 (precisa) a 32 bit, non ho installato imagemagick con yum, invece ho 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

prova apt-get install libjpeg-dev
Shashank Singla,

È davvero un'ottima risposta qui http://askubuntu.com/a/746195
L. Percy,

come può qualsiasi pacchetto imagemagick in tutto il mondo essere utilizzato QUALSIASI senza supporto per JPEG preconfezionato ?! È come vendere pizza senza formaggio o pane o salsa di pomodoro.
Sridhar Sarnobat,

Risposte:


11

Ho risolto il problema installando dalla sorgente la libreria di codifica jpeg disponibile su http://www.ijg.org/files/jpegsrc.v8c.tar.gz .

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

Quindi ho reinstallato ImageMagick dal sorgente:

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

Ora funziona, l'ho provato in questo modo:

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

Questo ha funzionato per me. Ho dovuto aggiungere export LD_LIBRARY_PATH = $ LD_LIBRARY_PATH: / usr / local / lib / in .profile
mv288

Ho installato solo il primo jpegsrc dal sorgente e ho reinstallato ImageMagick tramite apt-gete ha funzionato anche.
kyng,

6

Se si decide di creare ImageMagick dall'origine, è necessario essere pronti a risolvere manualmente tutte le dipendenze. A meno che tu non abbia un'esigenza urgente, dovresti installare tutto il software su Ubuntu da un repository, ovvero i repository ufficiali o un PPA.

Se installi Imagemagick usando APT ( apt-get, Synaptic, Software Center, ecc.), I file JPG funzioneranno perfettamente, come ho confermato sul mio computer.

Se la tua ragione per costruire dalla fonte è ottenere una versione più recente, cerca un PPA che tenga traccia della versione più recente. Se stai costruendo dalla fonte per aiutare con lo sviluppo, dovresti scoprire dalla gente di Imagemagick cosa è necessario per costruirlo con successo dalla fonte. Potrebbe essere necessario specificare alcuni flag ./configureo disporre di una libreria di sviluppo installata prima dell'esecuzione ./configure.

Ma normalmente, costruire dalla fonte complica inutilmente le cose.

Oh, a proposito, Red Hat e Ubuntu usano nomi diversi per i pacchetti. Quindi, se si yumlamenta di un pacchetto mancante, non dovrebbe sorprendere se apt-getnon riesci a trovare un pacchetto con quel nome. Non dovresti mescolare i gestori di pacchetti su un sistema a meno che tu non abbia davvero un buon motivo per farlo. Anche allora, prova prima ogni altra opzione.


Non ho alcun motivo specifico per costruire dal sorgente, se l'installazione di Imagemagick tramite APT (apt-get, Synaptic, Software Center, ecc.) Risolverà il problema dei file JPG, ci andrò, puoi indicarmi come installare Imagemagick usando APT come hai fatto tu?
Samir Sabri,

@SamirSabri: basta cercare nel Software Center o Synaptic. O il completamento scheda uso su apt-getper scoprire il comando: sudo apt-get install imagemagick.
Scott Severance,

A proposito, ti consiglio vivamente di rimuovere tutti i precedenti tentativi di installazione di imagemagick prima di provare a installare usando il mio metodo. Altrimenti, potresti finire con dei conflitti.
Scott Severance,

Anche se ho rimosso i precedenti tentativi, ottengo un errore quando identifico l'immagine jpg, in questo modo: sam @ ubuntu: ~ / RubymineProjects / project / tmp $ identifica 1.jpg identifica: nessun delegato decodifica per questo formato immagine `1.jpg ' @ errore / constit.c / ReadImage / 550.
Samir Sabri,

3

Si noti che l' no decode delegateerrore può (abbastanza confusamente) derivare da imagemagick (o da una parte di esso) che non trova il file. Quindi, prima di eseguire per reinstallare imagemagick, verificare con identify -list formate convert -list configurese il formato JPEG è supportato e, in caso affermativo, il problema sarà probabilmente altrove.

Ad esempio, convert -resize 50% foo\ bar.jpgmi ha dato un no decode delegate for this image formaterrore, ma ha convert -resize 50% 'foo bar.jpg'funzionato perfettamente.


1

Se hai appena installato php5-imagick, prova anche a installare l'intero pacchetto imagemagick. Ciò installerà tutte le librerie richieste, come quella jpeg.

sudo apt-get install imagemagick

Quindi riavvia il tuo server web per ricaricare tutte le librerie:

sudo service apache2 restart

La decodifica JPEG ora dovrebbe funzionare senza errori.


0

hai provato :

sudo apt-get install libjpeg62

se il comando sopra non funziona, si prega di passare attraverso il seguente link.

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

Fagli sapere, se questo è stato utile, buona fortuna ... :)


Ho provato la tua soluzione, ho ottenuto: Lettura degli elenchi dei pacchetti ... Fine Creazione dell'albero delle dipendenze Lettura delle informazioni sullo stato ... Fine libjpeg62 è già la versione più recente. 0 aggiornati, 0 appena installati, 0 da rimuovere e 6 non aggiornati. Ma ottengo ancora un errore quando identifico l'immagine jpg: sam @ ubuntu: ~ / RubymineProjects / project / tmp $ identifica 1.jpg identifica: nessun delegato di decodifica per questo formato immagine `1.jpg '@ error / constit.c / ReadImage / 550.
Samir Sabri,

ok, ho trovato questo: blog.ericlamb.net/2008/11/… per favore, controlla e fammi sapere, grazie per la tua risposta.
Rishi Kolvekar,

L'ho appena risolto prima di leggere il tuo ultimo commento, grazie, lo ho nella mia risposta di seguito
Samir Sabri

suona alla grande !!! :)
Rishi Kolvekar,

0

| Il modo più semplice | Scarica " Synaptic Package Manager " dal centro software. -> rimossi i pacchetti libjpeg precedenti * -> reinstallati libjpeg8 e libjpeg-turbo8 e libjpeg-turbo8-dev.

PS: stavo ottenendo lo stesso errore. Mi ci sono voluti 2 giorni per essere risolto. Errore durante il tentativo di visualizzare l'immagine jpg:

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

Quindi, scarico " Synaptic Package Manager " dal centro software. -> rimossi i pacchetti libjpeg precedenti * -> reinstallati libjpeg8 e libjpeg-turbo8 e libjpeg-turbo8-dev.

(* il gestore pacchetti synaptics mostrerà dipendenza con altri pacchetti, rimuoverà solo i pacchetti libjpeg indipendenti precedenti)

Successivamente sono in grado di aprire immagini JPEG senza timore di errori.

Spero che sia d'aiuto :)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.