Tôi đang sử dụng thư viện colorsys của python để chuyển đổi giá trị màu RGB thành HLS. Chỉ cần để xác minh, tôi đã thử chuyển đổi trở lại RGB và nhận được một giá trị khác nhau trở lại. Tôi có thể hiểu được sự khác biệt nhỏ vì vấn đề chính xác, nhưng những giá trị này khác nhau đáng kể.Chuyển đổi RGB thành HLS và quay lại
Dưới đây là mã của tôi:
import colorsys
r=192
g=64
b=1
hlsval = colorsys.rgb_to_hls(r,g,b)
rgbval=colorsys.hls_to_rgb(hlsval[0],hlsval[1],hlsval[2])
print hlsval, rgbval
Output:
(0.16666666666666666, 96.5, -1.0) (191.99999999999994, 192.0, 1.0)
Giá trị xanh tắt bởi hơn 200%
tôi đã cố gắng một số giá trị khác, và mỗi khi một trong những thành phần bị giảm một lượng đáng kể. Tui bỏ lỡ điều gì vậy?
giá trị của 'a',' b' và 'c' ? –
@AshwiniChaudhary: Rõ ràng là anh ta có tương đương với 'a, b, c = r, g, b' ở đâu đó (hoặc anh ta không quên chỉnh sửa mã của mình để sử dụng' r, g, b' thay vì 'a, b, c' hoặc một cái gì đó), bởi vì đó là chính xác các giá trị bạn nhận được với' a, b, c = 192, 64, 1'. – abarnert
Vâng, xin lỗi về điều đó. Tôi đã chỉnh sửa nó ngay bây giờ. – user2175594