Tôi đã viết một công cụ cho việc này: https://github.com/igrmk/blec . Đối với trường hợp cụ thể của bạn, bạn có thể sử dụng nó theo cách này
blec white deadbeef
Cuối cùng ef
là biểu diễn hex của một kênh alpha. Hoặc bạn có thể sử dụng nó như thế này
blec white deadbe:0.75
Chỉ định độ mờ như là một phần thập phân.
Xin lưu ý rằng công thức Y = 255 - P * (255 - X)
được đề xuất không hoàn toàn chính xác do điều chỉnh gamma. Chính xác hơn sẽ là Y = (255^G * (1 - P) + X^G * P) ^ (1 / G)
nơi Y
- kết quả giá trị thành phần RGB, X
- giá trị thành phần lớp phủ RGB, P
- độ mờ đục của nó G
- giá trị của một gamma. Giá trị phổ biến nhất của một gamma là 2.2. Lý do để bao gồm một hiệu chỉnh gamma vào công thức là để di chuyển các thành phần vào không gian tuyến tính khi tính toán. Hầu như mọi không gian RGB được sử dụng ngày nay đều diễn giải các thành phần màu theo cách phi tuyến tính để đặt nhiều thông tin màu hơn trong 8 bit. Trong lịch sử, nó được giới thiệu để bù cho sự phi tuyến tính của màn hình CRT.
Dưới đây là một ví dụ tại sao việc hiệu chỉnh gamma lại quan trọng đối với việc trộn. Hãy chụp ảnh màu đỏ này
và hình ảnh màu xanh này
Chúng ta hãy lấy hình đầu tiên hoàn toàn mờ và đặt độ mờ của hình ảnh thứ hai bằng trục x như thế này
Bây giờ, hãy trộn chúng mà không cần hiệu chỉnh gamma (gamma = 1)
Hãy kích hoạt chỉnh sửa gamma và thực hiện tương tự (gamma = 2.2)
Như bạn có thể thấy có quá trình chuyển đổi cục bộ hơn nhiều nếu chúng ta không sử dụng hiệu chỉnh gamma. Có màu sắc rõ ràng tối hơn ở trung tâm. Nếu chúng ta sử dụng hiệu chỉnh gamma thì quá trình chuyển đổi và độ sáng trở nên trơn tru hơn nhiều.
Gradient cuối cùng được xây dựng bằng cách phối màu.
Hình ảnh chứa các pixel chỉ có hai màu nhưng xác suất màu xanh tuyến tính tăng từ 0 ở bên trái lên 1 ở bên phải. Kết quả trông gần giống với hình ảnh hơn với gamma = 2.2 về độ sáng và màu chuyển tiếp. Cố gắng nhìn nó từ xa. Và đây là những gì bạn có thể mong đợi từ việc pha trộn hai màu. Chúng tôi thực sự pha trộn chúng bằng cách trộn như aquarelle trong ví dụ này. Vì vậy, gamma là điều rất quan trọng để pha trộn đặc biệt là khi độ mờ gần 0,5.
Cuối cùng chúng ta hãy so sánh sự pha trộn giữa màu đỏ đục và màu xanh lam với alpha là 0,5 trong đó hiệu quả của hiệu chỉnh gamma là tối đa.
Hình ảnh thứ nhất không sử dụng hiệu chỉnh gamma, hình ảnh thứ hai sử dụng gamma 2.2 và hình ảnh thứ ba sử dụng phối màu. Như bạn có thể thấy cái đầu tiên rất khác với hai cái khác. Vì vậy, tôi khuyên luôn luôn sử dụng một hiệu chỉnh gamma. Nếu bạn sử dụng bất kỳ trình chỉnh sửa hình ảnh phong nha nào thì có lẽ bạn an toàn và chỉnh sửa gamma được bật theo mặc định.
Xin lưu ý rằng để so sánh độ hoà sắc với pha trộn, bạn cần nhìn vào hình ảnh ở tỷ lệ 100% để mỗi pixel của hình ảnh chiếm chính xác một pixel của màn hình. Điều này gần như không bao giờ xảy ra nếu bạn sử dụng điện thoại di động. Nếu bạn nhìn vào hình ảnh ở quy mô khác nhau có lẽ bạn nhìn vào hình ảnh khử răng cưa. Việc khử răng cưa có thể dẫn đến kết quả rất không chính xác vì hiện tại nó không sử dụng hiệu chỉnh gamma. Tôi có thể xác nhận nó cho Chrome 83 trên Android 10 và cho Safari mới nhất trên iOS 13. Tôi đoán nó cần quá nhiều tài nguyên để thực hiện đúng cách. Vì vậy, nó có hiệu quả giảm một gamma của màn hình xuống khoảng 1,8 khi bạn nhìn vào những hình ảnh rất tương phản.
Cũng xin lưu ý rằng không phải mọi màn hình đều được hiệu chỉnh tốt. Nếu bạn cảm thấy như một hình ảnh với gamma 2.2 và một hình ảnh với độ hoà sắc tạo ra các màu khác nhau thì tôi có một tin xấu cho bạn. Bạn có thể kiểm tra một gamma của bạn theo dõi tại đây http://web.mit.edu/jmorzins/www/gamma/adilger/gamma.html . Tuy nhiên, nếu bạn sử dụng thiết bị di động, tốt hơn là sử dụng một ứng dụng vì khử răng cưa có thể dẫn đến kết quả rất không chính xác.
Đây là một mã để có được những hình ảnh này https://pastebin.com/fHYtWrMb .