
rgb[0] = (pixel & 0xff0000) >> 16; 这些地方为什么要“与”,还要移位呢?这程序转换成二维数组。
bi是BufferedImage的对象。intwidth=bi.getWidth();intheight=bi.getHeight();intminx=bi.getMin...
bi是BufferedImage的对象。
int width = bi.getWidth();
int height = bi.getHeight();
int minx = bi.getMinX();
int miny = bi.getMinY();
String[][] list = new String[width][height];
for (int i = minx; i < width; i++) {
for (int j = miny; j < height; j++) {
int pixel = bi.getRGB(i, j);
rgb[0] = (pixel & 0xff0000) >> 16;
rgb[1] = (pixel & 0xff00) >> 8;
rgb[2] = (pixel & 0xff);
list[i][j] = rgb[0] + "," + rgb[1] + "," + rgb[2];
}
} 展开
int width = bi.getWidth();
int height = bi.getHeight();
int minx = bi.getMinX();
int miny = bi.getMinY();
String[][] list = new String[width][height];
for (int i = minx; i < width; i++) {
for (int j = miny; j < height; j++) {
int pixel = bi.getRGB(i, j);
rgb[0] = (pixel & 0xff0000) >> 16;
rgb[1] = (pixel & 0xff00) >> 8;
rgb[2] = (pixel & 0xff);
list[i][j] = rgb[0] + "," + rgb[1] + "," + rgb[2];
}
} 展开
展开全部
0xff,即二进制的1序列比如11111111,是滤码。
(0xABCDEF &0xFF0000 )>>16
(0xABCDEF &0xFF00)>>8
0xABCDEF &0xFF
分别获得原数据的AB、CD、EF不同位置的数据
分别对应RGB三色中的红色R为AB,绿色G为CD,蓝色B为EF
(0xABCDEF &0xFF0000 )>>16
(0xABCDEF &0xFF00)>>8
0xABCDEF &0xFF
分别获得原数据的AB、CD、EF不同位置的数据
分别对应RGB三色中的红色R为AB,绿色G为CD,蓝色B为EF
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询