我正在使用以下代码进行XOR像素值
BufferedImage bi=ImageIO.read(new File(1.bmp));
BufferedImage img = new BufferedImage(bi.getWidth(),bi.getHeight(),BufferedImage.TYPE_INT_RGB);
int[] pixel;
for (int y = 0; y < bi.getHeight(); y++) {
for (int x = 0; x < bi.getWidth(); x++) {
pixel = bi.getRaster().getPixel(x, y, new int[3]);
img.setRGB(x, y, col);
}
}
答案 0 :(得分:0)
您需要将这些值转换为参数 - 两个0和高度,宽度。
for (int y = 0; y < bi.getHeight(); y++) {
for (int x = 0; x < bi.getWidth(); x++) {
更改它看起来像这样。
for (int y = y0; y < y1; y++) {
for (int x = x0; x < x1; x++) {
现在把它变成一个函数/方法,然后对它进行4次调用,传递这些值。
y0=0; y1=bi.getHeight()/2; x0=0; x1=bi.getWidth()/2
y0=bi.getHeight()/2 + 1; y1=bi.getHeight(); x0=0; x1=bi.getWidth()/2
y0=0; y1=bi.getHeight()/2; x0=bi.getWidth()/2+1; x1=bi.getWidth()
y0=bi.getHeight()/2 + 1; y1=bi.getHeight(); x0=bi.getWidth()/2+1; x1=bi.getWidth()
答案 1 :(得分:0)
您可以使用getData(Ractangle rect)返回一个区域。检查here