我有一个小问题。我有一个BufferedImage,其中的像素具有RGB值。该代码用于根据de R,G,B,A值创建RGB值。
private int getRGB(int r, int g, int b, int a){
return (a << 24) | (r << 16) | (g << 8) | b;
}
第一个问题是,如何从像素获取R,G,B,A值,因为像素RGB将返回由上面的代码生成的数字。
如果我有这些值,是否可以将2个像素彼此叠加以便计算新值,还是必须手动进行?通过自动计算,当您将2个运输对象放在顶部时,您会想到Java 2D,它将合并颜色。
非常感谢你。
第一个问题是,如何从像素获取R,G,B,A值,因为像素RGB将返回由上面的代码生成的数字。
您可以按以下步骤撤消该过程:
int a = (argb >> 24) & 0xFF;
int r = (argb >> 16) & 0xFF;
int g = (argb >> 8) & 0xFF;
int b = (argb >> 0) & 0xFF;
如果我有这些值,是否可以将2个像素彼此叠加以便计算新值,还是必须手动进行?通过自动计算,当您将2个运输对象放在顶部时,您会想到Java 2D,它将合并颜色。
您将需要手动执行此操作(或按像素调用实用程序方法),因为您需要决定如何合成颜色,例如,可以使用最大值,总和,平均值等像素值。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句