Como adicionar suporte para o formato de imagem JPEG

11

Depois de instalar o Imagemagick, testei com imagem jpg, assim:

identify 1.jpg

Mas eu tenho esse resultado:

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

Depois tentei adicionar suporte para o formato JPEG:

yum install libjpeg libjpeg-devel

mas eu tenho:

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

Eu pensei em atualizar o apt-get, eu fiz:

apt-get install libjpeg libjpeg-devel

mas eu tenho:

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

Existe uma maneira fácil de instalar essas bibliotecas? Eu estou usando o Ubuntu 12.04.

    
por Samir Sabri 04.11.2012 / 04:43

5 respostas

11

Resolvi o problema instalando a partir da fonte a biblioteca de codificação jpeg disponível no link .

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

Então eu re-instalei o ImageMagick da fonte:

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

Agora está funcionando, eu testei assim:

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
    
por Samir Sabri 05.11.2012 / 04:38
6

Se você decidir criar o ImageMagick a partir do código-fonte, precisará estar preparado para resolver manualmente todas as dependências. A menos que você tenha uma necessidade urgente, você deve instalar todo o software no Ubuntu de um repositório - seja o repositório oficial ou um PPA.

Se você instalar o Imagemagick usando o APT ( apt-get , Synaptic, Software Center, etc.), os arquivos JPG funcionarão bem, como confirmei na minha máquina.

Se o motivo da criação da fonte for obter uma versão mais recente, procure um PPA que acompanhe a versão mais recente. Se você está construindo a partir do código-fonte para ajudar no desenvolvimento, então você deve descobrir com o pessoal do Imagemagick o que é necessário para construir com sucesso a partir da fonte. Pode ser que você precise especificar algum sinalizador para ./configure ou ter alguma biblioteca de desenvolvimento instalada antes de executar ./configure .

Mas normalmente, a criação a partir do código-fonte complica desnecessariamente as coisas.

Ah, a Red Hat e o Ubuntu usam nomes diferentes para pacotes. Portanto, se yum reclamar de um pacote ausente, não será surpresa se apt-get não conseguir encontrar um pacote com esse nome. Você não deve misturar gerenciadores de pacotes em um sistema, a menos que você tenha uma boa razão para fazê-lo. Mesmo assim, tente todas as outras opções primeiro.

    
por Scott Severance 04.11.2012 / 05:52
3

Observe que o erro no decode delegate pode (muito confusamente) resultar em imagemagick (ou alguma parte dele) não encontrar o arquivo. Portanto, antes de executar a reinstalação do imagemagick, verifique com identify -list format e convert -list configure se o formato JPEG é suportado e, se estiver, o problema provavelmente estará em outro lugar.

Por exemplo, convert -resize 50% foo\ bar.jpg me deu no decode delegate for this image format eror, mas convert -resize 50% 'foo bar.jpg' funcionou perfeitamente.

    
por Tgr 04.12.2013 / 11:35
1

Se você acabou de instalar o php5-imagick, tente instalar também o pacote imagemagick completo. Isso instalará todas as bibliotecas necessárias, como a do jpeg.

sudo apt-get install imagemagick

Em seguida, reinicie seu servidor da Web para recarregar todas as bibliotecas:

sudo service apache2 restart

A decodificação em JPEG agora deve funcionar sem erros.

    
por Epskampie 02.11.2015 / 12:24
0

você já tentou:

sudo apt-get instala libjpeg62

se o comando acima não funcionar, por favor, siga o seguinte link.

link

Deixe-os saber, se isso foi útil, boa sorte ...:)

    
por Rishi Kolvekar 04.11.2012 / 05:02