为什么改变亮度在HSB颜色模型中改变颜色?这是我的密码:
for (int y=0; y<height; y++)
for (int x=0; x<width; x++) {
Color pix = image.getPixel(x, y);
float[] hsb = new float[3];
Color.RGBtoHSB(pix.getRGB(),pix.getGreen(),pix.getBlue(),hsb);
Color newColor = new Color(Color.HSBtoRGB(hsb[0], hsb[1],(float)0.5));
image.setPixel(x, y, newColor);
}代码将0.5的值分配给图像中每个像素的亮度。
发布于 2014-02-19 02:53:10
你打电话给Color.RGBtoHSB时犯了个错误。
你写道:
Color.RGBtoHSB(pix.getRGB(),pix.getGreen(),pix.getBlue(),hsb);你可能想:
Color.RGBtoHSB(pix.getRed(),pix.getGreen(),pix.getBlue(),hsb);https://stackoverflow.com/questions/21869685
复制相似问题