从rgb-integer转换为字节数组并返回不起作用

时间:2012-09-28 17:03:20

标签: java image rgba

我尝试通过操纵rgb字节来保存图像中的数据。但每次转换rgb-byte []并返回时都不会返回相同的值。使用自己的比特移位方法我使用了Java Color类,但似乎有一个alpha通道的错误。 以下测试方法适用于颜色值,但每次都有不同的alpha值。

Random r = new Random();
int red = r.nextInt(255), green = r.nextInt(255), blue = r.nextInt(255), alpha = r.nextInt(255); 
Color one = new Color(red, green, blue, alpha);
Color two = new Color(one.getRGB());
System.out.println(one.getRed() + " " + one.getGreen() + " " + one.getBlue() + " " + one.getAlpha());
System.out.println(two.getRed() + " " + two.getGreen() + " " + two.getBlue() + " " + two.getAlpha());  

我做错了什么或者Java中有错误吗?

1 个答案:

答案 0 :(得分:0)

单参数Color构造函数忽略alpha。使用two-arg构造函数:

Color two = new Color(one.getRGB(), true);