C++ 如何将HSV转换为RGB?

C++ 如何将HSV转换为RGB?,c++,qt,C++,Qt,您能帮助我如何将HSV更改为RGB吗?您的颜色对象可能具有HSV成员的设置器 因此,您需要定义3个滑块来播放H、S和V值 记住: Hue:颜色类型(红色、蓝色或黄色)范围为0到360° S饱和度:颜色的强度范围从0%到100% B正确性(或值):颜色的亮度范围从0%到100% 您的颜色对象可能具有HSV成员的设置器 因此,您需要定义3个滑块来播放H、S和V值 记住: Hue:颜色类型(红色、蓝色或黄色)范围为0到360° S饱和度:颜色的强度范围从0%到100% B正确性(或值):颜

您能帮助我如何将HSV更改为RGB吗?

您的颜色对象可能具有HSV成员的设置器

因此,您需要定义3个滑块来播放H、S和V值

记住:

  • Hue:颜色类型(红色、蓝色或黄色)范围为0到360°

  • S饱和度:颜色的强度范围从0%到100%

  • B正确性(或值):颜色的亮度范围从0%到100%



您的颜色对象可能具有HSV成员的设置器

因此,您需要定义3个滑块来播放H、S和V值

记住:

  • Hue:颜色类型(红色、蓝色或黄色)范围为0到360°

  • S饱和度:颜色的强度范围从0%到100%

  • B正确性(或值):颜色的亮度范围从0%到100%



你的意思是要在整个图像上移动HS和V一个值?很简单,将滑块居中于0,并允许色调从-2PI变为2PI,s和v从-1.0变为1.0。色调不能超出范围,它会包裹到+/-π或任何您使用的约定。S和V被钳制为0-1(如果使用字节而不是浮点数,则为0-255)


您需要HSVtoRGB和RGBtoHSV,这在web上很容易获得。

您的意思是要将整个图像上的HS和V移动一个值?很简单,将滑块居中于0,并允许色调从-2PI变为2PI,s和v从-1.0变为1.0。色调不能超出范围,它会包裹到+/-π或任何您使用的约定。S和V被钳制为0-1(如果使用字节而不是浮点数,则为0-255)


您需要HSVtoRGB和RGBtoHSV,这在web上很容易获得。

求出像素和滑块的HSV平均值,添加它们可能会给出超出范围的值。另外,发布一些代码。是的,我会写一些代码,但我需要一个算法,我的代码应该做什么:(好的,看,也许:哦,非常感谢,我会尝试iTunes,它与我的图像加载不起作用,因为它平均出像素和滑块的HSV,添加它们可能会给出超出范围的值。此外,发布一些代码。是的,我会写一些代码,但我需要一个算法,我的代码应该做什么:(好的,看,也许:非常感谢,我会尝试iTunes,它不适合我的图像加载,因为QImageYeah我有3个滑块:H-范围为0-360,S-范围为0-100,V-范围为0-100,但我下一步应该做什么?我从文件中加载图像,作为QimageQimageMyImage=…QColor myColor=myImage.pixelColor(…);myColor.setHsv(…);将imagevar.pixel(pixx,pixy)给出的QRgb值转换为HSV,使用滑块值求平均值,将这些值还原为QRgb变量,使用imagevar.setPixe(pixx,pixy,newQRgb)更改这些值。完全按照@ΦXocę进行编辑웃Пepeúpaツ 说,请检查我的答案:)谢谢,我有3个滑块:H-范围为0-360,S-范围为0-100,V-范围为0-100,但我下一步应该做什么?我从文件中加载图像,作为QImageQImage myImage=…QColor myColor=myImage.pixelColor(…);myColor.setHsv(…);转换imagevar.pixel(pixx,pixy)给出的QRgb值对于HSV,使用滑块值求平均值,将这些值还原为QRgb变量,使用imagevar.setPixe(pixx,pixy,newQRgb)更改这些值。完全按照@ΦXocę编辑웃Пepeúpaツ 请检查我的答案:)谢谢请检查我的答案:)谢谢请检查我的答案:)谢谢
QImage myImage = ....
QColor myColor = myImage.pixelColor(...);
myColor.setHsv(....);