public static void decodeThis(BufferedImage im){
int w = im.getWidth();
int h=im.getHeight();
int[] arr=im.getRGB(0, 0, w, h, null, 0, w);
int[] eightBit=new int[8];
for (int i=0;i<arr.length;i++){
System.out.printf("%x \n",arr[i]);
}
}
所以这是我的代码到目前为止。我很困惑如何从arr中读取每个像素中的最低有效位并将其存储在eightBit中。我刚刚学习了数组和BufferedImage,所以这对我来说都是新手 - 任何帮助都会受到赞赏。谢谢!
答案 0 :(得分:1)
我猜你熟悉lsb(最低位)的整个概念,因为你没有问过这个......?
你需要做的是使用按位和。这就是&amp;操作员(注意:不是&amp;&amp;)。如果你做'int i&amp; 1'如果i的lsb为1,你将得到一个,如果它为零则为零。尝试玩游戏并阅读avout按位运算符,您将获得它的支持!如果你想知道什么,请评论......