Saya memiliki folder file png yang memiliki latar belakang transparan. Saya ingin mengonversinya dari baris perintah dan mempertahankan latar belakang transparan gambar.
Saya menghargai bantuan apa pun.
Karena jpg tidak mendukung transparansi, jadi bagaimana saya bisa menentukan nilai hex warna latar belakang output jpg? Saat ini defaultnya adalah #ffffff
? Saya telah mencoba skrip ini, tetapi memberikan latar belakang putih jpg output:
mogrify -quality 100 -format jpg *.png
Memperbarui
Saya membuat file png ini di inkscape. Saya harus menyebutkan bahwa tujuan saya dalam mengkonversi pngs ini ke jpg adalah untuk menghilangkan tepi bergerigi pada objek melingkar atau sudut. The pngs saat ini memiliki tepi bergerigi dan saya membaca bahwa mengonversikannya ke jpg dapat menyelesaikan masalah ini. Namun konversi melalui metode yang dijabarkan dalam jawaban Christian Skjødt memberikan gambar tepi bergerigi yang lebih buruk lagi. Apakah ada cara saya bisa mengonversi pngs ke jpg dan juga menggunakan anti-aliasing atau mungkin teknik lain untuk menghilangkan tepi bergerigi? Terima kasih untuk bantuannya.
Jawaban:
Untuk memperhalus tepi Anda bisa membuat PNGs 10x lebih besar dari ukuran target Anda, lalu mengubah ukuran dengan anti-aliasing ke JPG. Saya telah melakukan ini menggunakan Python dan Python Imaging Library untuk efek yang baik, tapi saya tidak yakin bagaimana melakukannya dengan menggunakan alat lain.
sumber
Format JPEG tidak mendukung transparansi - oleh karena itu mempertahankan latar belakang transparan tidak dimungkinkan jika Anda ingin (atau harus) menggunakan format JPEG. Lihat Wikipedia untuk ikhtisar kemampuan berbagai format gambar.
Perhatikan bahwa JPEG 2000 memang mendukung transparansi, tetapi jauh lebih jarang daripada format JPEG. Tergantung pada kasus penggunaan Anda apakah ini merupakan alternatif yang layak.
sumber
Untuk pertanyaan kedua Anda:
Untuk menentukan warna latar belakang saat mengonversi gambar Anda, Anda dapat menggunakan
-fill
opsi:Menggunakan
-background
memberikan hasil yang serupa. Jangan lupakan-opaque none
.sumber
Maaf, tidak mungkin,
jpeg
format tidak mendukungalpha channel
sehingga Anda tidak dapat memiliki transparansi.sumber
tergantung pada apa yang Anda coba lakukan dengan gambar, dimungkinkan untuk menempatkan saluran alpha ke gambar skala abu-abu yang terpisah atau bitmask, dan program yang menggunakan gambar akan menerapkan gambar tambahan sebagai nilai transparan / transparan. . Meskipun pada akhirnya lebih baik untuk memodifikasi program sehingga mendukung alpha png.
sumber