RT。 我想把一个RGB(0~255,0~255,0~255)转换到HSB(0~240, 0~240, 0~240)上网找了很多方法RGB转换到HSB,但是似乎都有问题,一是HSB的取值有的是(0~360, 0~1, 0~1),有的是(0~1, 0~1, 0~1),有的是(0~360, 0~100, 0~100),而且把再转换到0~240之间,经测试不太正确。是不是因为还需要考虑位数的问题。

解决方案 »

  1.   

    参数范围映射一下,例如HSB(0~360, 0~1, 0~1),你要HSB(0~240, 0~240, 0~240),可以把0~240分别映射到0~360, 0~1, 0~1,无非是一个百分比计算,把你的参数换算一下就行了。
      

  2.   


    换算了以后,我进行测试, 有的RGB(255,0,255),转换为的HSB(200,240,120)是对的,但有的比如说RGB(212,230,245)转换为HSB不是(138,149,215), 而是其它的(23,194,158),差别很大的