Opak rengi alfaya dönüştürmek için imagemagick kullanma


10

Ön planda beyaz elemanları olan siyah arka planlı bir resmim var. Görüntü yumuşatılıyor, bu yüzden kesinlikle siyah veya beyaz olmayan 'arada' pikseller var. Arka planı şeffaf yapmak istiyorum. Bunu imagemagick ile nasıl yapacağım konusunda birkaç bağlantı buldum, ancak hepsi kesinlikle bir rengi değiştirdi (# 000000FF "tam alfa" # 00000000 "deyin). Karışımı korumak istiyorum ... yani gri bir piksel varsa" # 777777FF "," # FFFFFF77 "gibi bir şeye dönüşür, ya da ne mantıklı olursa olsun.

Bunu nasıl yapacağını bilen var mı?

Yanıtlar:


11

Bu makalede, bunun nasıl yapılacağı çok iyi açıklanmaktadır:
http://www.imagemagick.org/Usage/masking/#alpha

Blogumda bununla ilgili küçük bir yazı yazdım:
http://mostlycoincidence.blogspot.se/2012/12/imagemagick-making-glyphs-transparent.html

Temel olarak, yapmak istediğiniz bir maske oluşturmak ve ardından maskeyi görüntüye uygulamaktır. Bunu iki adımda yapabilirsiniz:

$ convert image.png -colorspace HSB -separate -negate image_mask.png
$ convert image.png -alpha Off \
>    image_mask.png -compose CopyOpacity -composite \
>    PNG32:image_alpha.png

Bu beyazı şeffaf renk yapacaktır. Saydamlık rengini siyah yapmak için -negatebayrağı kaldırın .

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.