在java中从RGB转换为HSB

时间:2013-02-17 16:31:40

标签: java rgb bufferedimage hsb

我试图找到图片中的平均颜色,并将颜色转换为HSB。

我正在使用bufferedImage和list函数,我发现每个像素都有红色,绿色和蓝色。

有人可以给我一些关于如何在java中转换为HSB的技巧吗? :)

1 个答案:

答案 0 :(得分:2)

使用java.awt.Color.RGBtoHSB(int r, int g, int b, float[] hsbvals)。请参阅javadoc here

P.S。如果您使用p = bufferedImage.getRGB(x,y),请回想一下最低8位(myPixel&0xff)对应蓝色组件,因此您可以使用以下内容:Color.RGBtoHSB((p>>16)&0xff, (p>>8)&0xff, p&0xff, hsbvals)