Batch mengganti warna dengan transparansi

17

Saya memiliki sejumlah besar gambar PNG (terlalu banyak untuk dilakukan satu per satu) dengan latar belakang merah muda yang cerah dan ingin mengganti warna latar belakang dengan transparansi. Jika ini tidak mungkin atau sangat sulit, mengganti warna yang ditentukan dengan putih akan bermanfaat.

Saya memiliki gimp tetapi tidak photoshop dan saya tidak terlalu nyaman dengan baris perintah, jadi jika solusi membutuhkan itu, tolong tunjukkan setiap langkah. Senang sekali bisa melakukan ini, bantuan apa pun akan dihargai.

ete
sumber

Jawaban:

21

Saya tahu Anda mengatakan Anda tidak nyaman dengan alat-alat baris perintah, tetapi ImageMagick dapat melakukan ini:

Ganti Warna Tertentu

convert balloon.gif -transparent blue balloon_trans.gif

masukkan deskripsi gambar di sini masukkan deskripsi gambar di sini masukkan deskripsi gambar di sini

Di mana balloon.gifgambar sumber, -transparentmenentukan bahwa Anda ingin bg transparan, blueadalah warna yang ingin Anda ganti, dan balloon_trans.gifmerupakan gambar yang selesai.

Ini dengan asumsi bahwa "merah muda cerah" Anda bukan bagian dari gambar apa pun. Untuk sedikit penghapusan latar belakang yang lebih cerdas (flofill), lihat tutorial ini: Masking Backgrounds Sederhana (floodfill)

Ini bisa menjadi sedikit berbulu dan beberapa opsi yang mereka tentukan di sana mungkin tidak diperlukan untuk apa yang Anda coba lakukan, sehingga @ graphics man menyarankan Anda dapat menambahkan backgroundke perintah


Jika Anda dapat memberi tahu saya OS apa yang Anda gunakan dan contoh gambar, saya dapat membantu Anda dengan skrip untuk mengotomatisasi ini untuk banyak gambar


Khusus untuk situasi Anda:

Pertama, instal ImageMagick . Anda mungkin perlu memulai ulang setelah instalasi agar variabel PATH Anda diperbarui (saya lakukan)

Setelah terinstal, jalankan prompt perintah (Start Menu, ketik cmd, tekan enter)

Anda perlu mengubah direktori ke tempat gambar disimpan. Untuk situasi Anda, masukkan perintah berikut:

cd C:\Users\Eric\Pictures\pngs\logos

Sekarang kita perlu membuat folder untuk menyimpan semua gambar di:

mkdir batch

Dan sekarang, perintah untuk mengonversi semua gambar:

FOR %G IN (*.png) DO convert "%G" -transparent #FF00FF "batch\%G"

Catatan: Dengan ImageMagick v7, gunakan magickbukan convert, karena begitu

FOR %G IN (*.png) DO magick "%G" -transparent #FF00FF "batch\%G"

Jika semuanya berjalan lancar, gambar yang baru disimpan harus di folder batch yang Anda buat.

masukkan deskripsi gambar di sini masukkan deskripsi gambar di sini masukkan deskripsi gambar di sini

JohnB
sumber
1
solusi yang bagus, kalau ada yang bertanya-tanya linux bash setara: untuk file di * .png; lakukan konversi "$ {file}" -transparent '# ffcc66' "batch / $ {file}"; selesai
Sameer Shemna
Untuk Mac ini sepertinya terkait: superuser.com/questions/773590/... Terima kasih!
Dan Rosenstark
Ini tidak berfungsi seperti yang dilakukan Gimp. Jika Anda memiliki piksel putih dengan alpha 0,5 di atas piksel hitam, dan Anda ingin menghapus warna hitam, piksel abu-abu akan tetap ada.
Iulian Onofrei
3

Jika Anda menjalankan gimp dan tidak ingin menggunakan Imagemagick, Anda mungkin ingin melihat David's Batch Processor (DBP) . Ini adalah plug-in untuk gimp untuk pemrosesan batch. Catatan Saya belum pernah menggunakannya atau mengujinya tetapi itu adalah sesuatu yang pernah saya lihat digunakan sebelumnya. Jika Anda memiliki Photoshop saya bisa menunjukkan kepada Anda bagaimana menggunakan batch atau action.

DᴀʀᴛʜVᴀᴅᴇʀ
sumber
Saya memilikinya dan telah menggunakannya untuk memotong gambar-gambar ini secara massal, tetapi tampaknya tidak ada pilihan untuk mengganti warna. Mungkin saya melewatkannya, atau memiliki versi lama?
ete
Saya tidak tahu. Saya hanya terbiasa dengan plug-in karena klien menggunakannya untuk mengedit gambar secara massal dan mendapatkan kesalahan. Seperti yang telah diposting John, Imagemagick adalah opsi yang kuat dan bisa menyelesaikan semua masalah Anda. Ada situs yang sangat detail. Lihat imagemagick.org/script/index.php
DᴀʀᴛʜVᴀᴅᴇʀ