我需要递归地在x和y轴坐标上找到一个对象。在这个特殊的代码中,我需要通过反复调用搜索方法找到坐标168,250的“Remy”
pdfStamper.GetOverContent(pageNumber).AddTemplate(page, x, y);
}
答案 0 :(得分:0)
我建议:
public Point search(int x, int y, int width) {
System.out.println(x + "\t" + y + "\t" + width);
int w = width/2;
if(w<=1)
return new Point(x,y);
int x1 = x+w;
int y1 = y+w;
if(target.x>=x&&target.x<x1&&target.y>=y&&target.y<y1)
return search(x,y,w);
else if(target.x>=x1&&target.x<x+w&&target.y>=y&&target.y<y1)
return search(x1,y,w);
else if(target.x>=x&&target.x<x1&&target.y>=y1&&target.y<y1+w)
return search(x,y1,w);
else /*if(target.x>=x1&&target.x<=x+w&&target.y>=y1&&target.y<=y1+w)*/
return search(x1,y1,w);
}
运行此方法时,输出为:
0 0 512
0 0 256
128 128 128
128 192 64
160 224 32
160 240 16
168 248 8
168 248 4
168 250 2
location: 168,250
请注意,它假定width
是2的幂。这可以很容易地进行调整。
我希望它有所帮助。