Bagaimana cara menambahkan dukungan untuk format gambar JPEG

12

Setelah menginstal Imagemagick, saya sudah mengujinya dengan gambar jpg, seperti ini:

identify 1.jpg

Tapi, saya mendapat hasil ini:

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

Kemudian, saya mencoba menambahkan dukungan untuk format JPEG dengan:

yum install libjpeg libjpeg-devel

tapi, saya mendapat:

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

Saya pikir saya perlu memperbarui apt-get, saya lakukan:

apt-get install libjpeg libjpeg-devel

tapi, saya mendapat:

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

Apakah ada cara mudah untuk menginstal perpustakaan itu? Saya menggunakan Ubuntu 12.04.

Samir Sabri
sumber
2
Mengapa Anda menggunakan yum? Itu adalah manajer paket untuk distribusi yang berbeda (Red Hat & Fedora), dan jika Anda telah yummenginstal imagemagick, saya sama sekali tidak terkejut karena tidak dapat menemukan perpustakaan! Anda hanya harus menginstal perangkat lunak dengan apt-get kecuali Anda benar - benar tahu apa yang Anda lakukan! Juga, "Ubuntu 12" tidak cukup spesifik ... Ada dua versi Ubuntu yang dimulai dengan "12": 12.04 dan 12.10. Versi Ubuntu didasarkan pada tanggal rilis: 12,04 dirilis April (bulan # 04) tahun '12, dan 12,10 dirilis pada Oktober tahun '12. Harap pastikan dan tentukan!
tigapuluh tiga
Saya memiliki Ubuntu Release 12.04 (tepat) 32-bit, saya tidak menginstal imagemagick dengan yum, saya malah menginstal 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
coba apt-get install libjpeg-dev
Shashank Singla
Ini jawaban yang sangat bagus di sana http://askubuntu.com/a/746195
L. Percy
bagaimana mungkin paket imagemagick apa pun dapat digunakan APA PUN tanpa dukungan untuk JPEG yang dipaket? Itu seperti menjual pizza tanpa keju atau roti atau saus tomat.
Sridhar Sarnobat

Jawaban:

11

Saya memperbaiki masalah dengan menginstal dari sumber perpustakaan pengkodean jpeg tersedia di 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

Kemudian saya menginstal ulang ImageMagick dari sumber:

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

Sekarang sudah berfungsi, saya sudah mengujinya seperti ini:

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
Samir Sabri
sumber
Ini berhasil untuk saya. Saya harus menambahkan ekspor LD_LIBRARY_PATH = $ LD_LIBRARY_PATH: / usr / local / lib / in .profile
mv288
Saya hanya menginstal jpegsrc pertama dari sumber dan menginstal ulang ImageMagick via apt-getdan itu berhasil juga.
kyng
6

Jika Anda memutuskan untuk membangun ImageMagick dari sumber, Anda harus siap untuk menyelesaikan semua dependensi secara manual. Kecuali Anda memiliki kebutuhan mendesak, Anda harus menginstal semua perangkat lunak di Ubuntu dari repositori - baik repo resmi atau PPA.

Jika Anda menginstal Imagemagick menggunakan APT ( apt-get, Synaptic, Software Center, dll.), Maka file JPG akan berfungsi dengan baik, seperti yang saya konfirmasi pada mesin saya.

Jika alasan Anda membangun dari sumber adalah untuk mendapatkan versi yang lebih baru, cari PPA yang melacak versi terbaru. Jika Anda membangun dari sumber untuk membantu pengembangan, maka Anda harus mencari tahu dari orang-orang Imagemagick apa yang diperlukan untuk berhasil membangunnya dari sumber. Mungkin Anda perlu menentukan beberapa flag ./configureatau menginstal beberapa library pengembangan sebelum menjalankan ./configure.

Tapi normalnya, membangun dari sumber tidak perlu mempersulit.

Omong-omong, Red Hat dan Ubuntu menggunakan nama yang berbeda untuk paket. Jadi, jika yummengeluh tentang paket yang hilang, tidak mengherankan jika apt-gettidak dapat menemukan paket dengan nama itu. Anda tidak boleh mencampurkan manajer paket pada suatu sistem kecuali Anda memiliki alasan yang sangat bagus untuk melakukannya. Bahkan kemudian, cobalah setiap opsi lainnya terlebih dahulu.

Scott Severance
sumber
Saya tidak punya alasan khusus untuk membangun dari sumber, jika menginstal Imagemagick menggunakan APT (apt-get, Synaptic, Software Center, dll.) Akan memperbaiki masalah file JPG, saya akan mengikutinya, bisakah Anda menunjukkan kepada saya cara menginstal Imagemagick menggunakan APT seperti yang Anda lakukan?
Samir Sabri
@ SamirSabri: Cukup cari di Pusat Perangkat Lunak atau Sinaptik. Atau menggunakan tab selesai pada apt-getuntuk menemukan perintah: sudo apt-get install imagemagick.
Scott Severance
Omong-omong, saya sangat menyarankan agar Anda menghapus semua upaya sebelumnya untuk menginstal imagemagick sebelum Anda mencoba menginstal menggunakan metode saya. Kalau tidak, Anda mungkin berakhir dengan konflik.
Scott Severance
Meskipun saya telah menghapus upaya sebelumnya, saya mendapatkan kesalahan ketika mengidentifikasi gambar jpg, seperti ini: sam @ ubuntu: ~ / RubymineProjects / project / tmp $ identifikasikan 1.jpg identifikasikan: tidak ada delegasi decode untuk format gambar ini `1.jpg ' @ kesalahan / merupakan. c / ReadImage / 550.
Samir Sabri
3

Perhatikan bahwa no decode delegatekesalahan dapat (cukup membingungkan) hasil dari imagemagick (atau sebagian darinya) tidak menemukan file. Jadi sebelum menjalankan untuk menginstal ulang imagemagick, periksa dengan identify -list formatdan convert -list configureapakah format JPEG didukung, dan jika ya, masalahnya mungkin ada di tempat lain.

Misalnya, convert -resize 50% foo\ bar.jpgmemberi saya no decode delegate for this image formateror, tetapi convert -resize 50% 'foo bar.jpg'bekerja dengan sempurna.

Tgr
sumber
1

Jika Anda baru saja menginstal php5-imagick, coba juga instal paket imagemagick lengkap. Ini akan menginstal semua perpustakaan yang diperlukan, seperti jpeg.

sudo apt-get install imagemagick

Kemudian restart server web Anda untuk memuat ulang semua perpustakaan:

sudo service apache2 restart

Decoding JPEG sekarang seharusnya bekerja tanpa kesalahan.

Epskampie
sumber
0

sudahkah anda mencoba:

sudo apt-get install libjpeg62

jika perintah di atas tidak berfungsi, silakan kunjungi tautan berikut.

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

Biarkan mereka tahu, jika ini bermanfaat, semoga berhasil ... :)

Rishi Kolvekar
sumber
Saya mencoba solusi Anda, saya dapatkan: Membaca daftar paket ... Selesai membangun pohon ketergantungan Membaca informasi keadaan ... Selesai libjpeg62 sudah menjadi versi terbaru. 0 ditingkatkan, 0 baru dipasang, 0 untuk dihapus dan 6 tidak ditingkatkan. Tapi, saya masih mendapatkan kesalahan ketika mengidentifikasi gambar jpg: sam @ ubuntu: ~ / RubymineProjects / project / tmp $ identifikasikan 1.jpg identifikasikan: tidak ada delegasi decode untuk format gambar ini `1.jpg '@ error / constitute.c / ReadImage / 550.
Samir Sabri
oke, saya menemukan ini: blog.ericlamb.net/2008/11/... tolong, periksa dan beri tahu saya, terima kasih atas balasan Anda.
Rishi Kolvekar
Saya baru saja memperbaikinya sebelum membaca komentar terakhir Anda, terima kasih, saya memilikinya dalam jawaban saya di bawah ini
Samir Sabri
terdengar hebat !!! :)
Rishi Kolvekar
0

| Cara termudah | Unduh " Synaptic Package Manager " dari pusat Perangkat Lunak. -> menghapus paket libjpeg yang lebih lama * -> menginstal ulang libjpeg8 & libjpeg-turbo8 & libjpeg-turbo8-dev.

PS: Saya mengalami kesalahan yang sama. Butuh waktu 2 hari untuk saya selesaikan. Kesalahan saya ketika saya mencoba untuk menampilkan gambar jpg:

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

Kemudian, saya mengunduh " Synaptic Package Manager " dari pusat Perangkat Lunak. -> menghapus paket libjpeg yang lebih lama * -> menginstal ulang libjpeg8 & libjpeg-turbo8 & libjpeg-turbo8-dev.

(* pengelola paket synaptics akan menunjukkan ketergantungan dengan paket lain, hapus hanya paket libjpeg independen yang lebih lama)

Setelah itu saya bisa membuka gambar JPEG tanpa takut kesalahan.

Semoga bermanfaat :)

Kevin Patel
sumber