-1
int argb = img.getRGB(x, y);

int rgb[] = new int[] {
    ((argb >> 16) & 0xff),    //red
    (argb >> 8) & 0xff ,     //green
    (argb) & 0xff     //blue
};

这个数组,我想从零替换每个元素的最低有效位???

4

3 回答 3

1

它不是像... & 0xFE代替那样简单0xFF吗?

于 2012-12-31T06:37:57.253 回答
0

以下代码可能对您有所帮助。尝试这个。
for (int i = 0; i < rgb.length; ++i) { rgb[i] &= 0xffffffffe; }

于 2012-12-31T06:38:43.603 回答
0

试试这个方法。

    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));

(我之前的回复其实是不正确的)

于 2012-12-31T07:01:47.060 回答