2012-07-12 42 views

Trả lời

10

Công thức được áp dụng cho mỗi kênh màu sắc như sau:

cr = cf * af + cb * ab * (1 - af) 

nơi cr là màu kết quả của pixel, cf là màu foreground, cb sự màu nền, af alpha nền trước và ab alpha nền.

Lưu ý rằng thường các giá trị màu được lưu trữ đã premultiplied bởi alpha trong trường hợp này công thức đơn giản để

cr = cf + cb * (1 - af) 

Xem thêm alpha composing.

+0

Giả sử tôi có màu đỏ (ff0000) với alpha 0,5 và nền màu trắng. Đang cố gắng để có được kết quả màu sắc: ff0000 * 0.5 + ffffff * 0.5 = ff7fff, nhưng đây không phải là những gì tôi mong đợi ... http://www.colorhexa.com/ff7fff Tôi đang làm gì sai? –

+1

Áp dụng công thức cho từng màu riêng lẻ (đỏ, xanh lá cây, xanh dương) –

+0

@Aaron Digulla, cảm ơn, tôi không chú ý :) –

Các vấn đề liên quan