8
Tôi có giá trị màu RGB và giá trị alpha. Làm thế nào tôi có thể nhận được giá trị RGB mới giả định rằng tôi có backgound trắng và alpha được áp dụng?Mô phỏng độ trong suốt màu
Tôi có giá trị màu RGB và giá trị alpha. Làm thế nào tôi có thể nhận được giá trị RGB mới giả định rằng tôi có backgound trắng và alpha được áp dụng?Mô phỏng độ trong suốt màu
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.
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? –
Áp dụng công thức cho từng màu riêng lẻ (đỏ, xanh lá cây, xanh dương) –
@Aaron Digulla, cảm ơn, tôi không chú ý :) –