int argb = img.getRGB(x, y);
int rgb[] = new int[] {
((argb >> 16) & 0xff), //red
(argb >> 8) & 0xff , //green
(argb) & 0xff //blue
};
这个数组,我想从零替换每个元素的最低有效位???
int argb = img.getRGB(x, y);
int rgb[] = new int[] {
((argb >> 16) & 0xff), //red
(argb >> 8) & 0xff , //green
(argb) & 0xff //blue
};
这个数组,我想从零替换每个元素的最低有效位???
它不是像... & 0xFE
代替那样简单0xFF
吗?
以下代码可能对您有所帮助。尝试这个。
for (int i = 0; i < rgb.length; ++i) { rgb[i] &= 0xffffffffe; }
试试这个方法。
int i = 33;
System.out.printf("%d\n%32s\n", i, Integer.toBinaryString(i));
i = (i >> 1) << 1; // this does the job.
System.out.printf("%d\n%32s\n", i, Integer.toBinaryString(i));
(我之前的回复其实是不正确的)