Rengi saydamlıkla renk değiştirme


17

Parlak pembe bir arka plana sahip çok sayıda PNG görüntüsüne sahibim (neredeyse bir kerede bir tane yapmak için çok fazla) ve arka plan rengini saydamlıkla değiştirmek istiyorum. Bu mümkün değilse veya özellikle zorsa, belirtilen rengin beyazla değiştirilmesi yararlı olacaktır.

Ben gimp var ama photoshop değil ve özellikle komut satırı ile rahat değilim, bu yüzden bir çözüm gerektiriyorsa lütfen her adımı gösterin. Bunu yapabilmek harika olurdu, herhangi bir yardım takdir edilecektir.

Yanıtlar:


21

Komut satırı araçlarıyla rahat olmadığınızı söylediğinizi biliyorum, ancak ImageMagick bunu yapabilir:

Belirli Bir Rengi Değiştirme

convert balloon.gif -transparent blue balloon_trans.gif

resim açıklamasını buraya girin resim açıklamasını buraya girin resim açıklamasını buraya girin

balloon.gifKaynak görüntü nerede , -transparentsaydam bir bg istediğinizi belirtir, bluedeğiştirmek istediğiniz renktir ve balloon_trans.giftamamlanan görüntüdür.

Bu, "parlak pembenin" hiçbir görüntünün parçası olmadığı varsayımı altındadır. Biraz daha akıllı bir arka plan kaldırma (taşkın dolgusu) için bu eğiticiye göz atın: Basit Arka Planları Maskeleme (taşkın dolgusu)

Bu biraz kıllı olabilir ve orada belirttikleri seçeneklerden bazıları muhtemelen yapmaya çalıştığınız şey için gerekli değildir, bu nedenle @graphics man backgroundkomutlara eklemenizi önerdiğinden


Bana hangi işletim sistemini ve örnek bir görüntü kullandığınızı söyleyebilirseniz, bunu birçok görüntü için otomatikleştirmek için bir komut dosyası ile size yardımcı olabilirim


Durumunuza özgü:

İlk olarak ImageMagick'i yükleyin . PATH değişkeninizin güncellenmesi için kurulumdan sonra yeniden başlatmanız gerekebilir (yaptım)

Kurulduktan sonra, bir komut istemi başlatın (Başlat Menüsü, yazın cmd, enter tuşuna basın)

Görüntülerin kaydedileceği dizinleri değiştirmeniz gerekir. Durumunuz için aşağıdaki komutu girin:

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

Şimdi tüm resimleri kaydetmek için bir klasör oluşturmamız gerekiyor:

mkdir batch

Ve şimdi, tüm görüntüleri dönüştürme komutu:

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

Not: ImageMagick v7 ile kullanmak magickyerine convert, böylece,

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

Her şey yolunda giderse, yeni kaydedilen görüntüler oluşturduğunuz toplu iş klasöründe olmalıdır.

resim açıklamasını buraya girin resim açıklamasını buraya girin resim açıklamasını buraya girin


1
eşdeğer linux bash merak eden herkes iyi bir çözüm: * .png dosyasında; dönüştürmek "$ {file}"-şeffaf '# ffcc66' "toplu / $ {file}"; bitti
Sameer Shemna

Mac için bu ilgili gibi görünüyor: superuser.com/questions/773590/… Teşekkürler!
Dan Rosenstark

Gimp'in yaptığı gibi bu işe yaramıyor. Siyah bir pikselin üstünde alfa 0,5 olan beyaz bir pikseliniz varsa ve siyah rengi kaldırmak istiyorsanız, gri piksel kalır.
Iulian Onofrei

3

Eğer gimp çalıştırıyorsanız ve Imagemagick'e gitmek istemiyorsanız, David'in Toplu İşlemcisine (DBP) bir göz atmak isteyebilirsiniz . Toplu işleme için gimp için bir eklentidir. Not Ben hiç kullanmadım ne de test ettim ama daha önce kullandığımı gördüm. Photoshop'a sahipseniz, toplu işi veya işlemi nasıl kullanacağınızı gösterebilirim.


Buna sahibim ve bu görüntüleri toplu olarak kırpmak için kullandım, ancak renkleri değiştirmek için herhangi bir seçenek yok gibi görünüyor. Belki de eksik ya da eski bir sürümü var?
ete

Bilmiyorum. Eklentiyi tanıyorum, çünkü bir istemci görüntüleri toplu düzenlemek için kullanıyor ve bir hata alıyordu. John yayınladığı gibi Imagemagick güçlü bir seçenektir ve tüm sorunlarınızı çözebilir. Site çok detaylı. Bir göz atın imagemagick.org/script/index.php
DᴀʀᴛʜVᴀᴅᴇʀ

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.