rgb(0, 96, 255)
わずかに異なる値()で終わることなく、HSLに変換して元に戻すことができるアルゴリズム/実装をまだ見つけていませんrgb(0, 98, 255)
。これは、すべてのアルゴリズムが壊れていることを意味します(Wolfram | Alphaを含む)。または、HSLがすべてのRGBカラーを表すことができないことを意味します。
どちらが正しい?
nmは正しい—「HSLはすべてのRGBカラーを表すことができますが、最も近い整数に丸められたHSLはできません。」
私が書いていたカラークラスでやったことは、色を丸められていないHSLとして内部に保存することでした。次に、RGBおよびHSLのgetterメソッドは、呼び出されたときにそれらを丸めます。これにより、RGBカラーでも、不正確な変換を行うことなく、色相や彩度の変更などを行うことができました。
丸められたRGBと丸められたHSLを正確に変換する方法はまだないため、解決策は、丸められたRGBを丸められたHSLとの間で変換しないことです。