Sử dụng hình ảnh để chuyển đổi màu đục thành alpha


10

Tôi có một hình ảnh với nền đen với các yếu tố màu trắng ở nền trước. Hình ảnh được làm mịn, do đó, có các pixel 'ở giữa' không hoàn toàn đen hoặc trắng. Tôi muốn làm cho nền trong suốt. Tôi đã tìm thấy một số liên kết về cách thực hiện điều này với fantemagick, nhưng tất cả chúng đều thay thế một màu (ví dụ # 000000FF "bằng alpha đầy đủ" # 00000000 "). Tôi muốn duy trì pha trộn ... vì vậy nếu có pixel màu xám" # 777777FF ", nó sẽ được chuyển thành một cái gì đó như" # FFFFFF77 ", hoặc bất cứ điều gì có ý nghĩa.

Có ai biết cách để làm điều này không?

Câu trả lời:


11

Bài viết này giải thích rất rõ cách thực hiện việc này:
http://www.imagemagick.org/Usage/masking/#alpha

Tôi đã viết một bài viết nhỏ về nó trên blog của mình: http :
// mostlycoincidence.blogspot.se/2012/12/imagemagick-making-glyphs-transparent.html

Về cơ bản, những gì bạn muốn làm là tạo một mặt nạ, và sau đó áp dụng mặt nạ cho hình ảnh. Bạn có thể làm điều này trong hai bước:

$ 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

Điều này sẽ làm cho màu trắng trong suốt. Để làm cho màu đen, màu trong suốt loại bỏ -negatecờ.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.