我正在尝试使用openCV扩展一个具有给定persentage的矩形。我在下面写了一个函数。由于Rectengle类的x和y值是public,我必须得到并设置x和y值而不使用getter或setter方法(尽管类没有它们)。但是我在行#34; temp.x = r.x-(tempWidth / 2);"上得到一个NullPointerException错误。在调试期间。
会出现什么问题? 感谢
public Rect extendRect(Rect r,double persent,int bmpWidth,int bmpHeight)
{
Rect temp = Rect(0,0);
int tempWidth =(int)(r.width*persent+(double)r.width);
int tempHeight =(int)(r.height*persent+(double)r.height);
temp.x=r.x-(tempWidth/2);// orginal rect
temp.width=tempWidth;
temp.y=r.y-(tempHeight/2);
temp.height=tempHeight;
//boundary check
if((temp.x+temp.width)>bmpWidth)
{
temp.width = bmpWidth-temp.x;
}
if(temp.x<0)
{
temp.x=0;
}
if((temp.y+temp.height)>bmpHeight)
{
temp.height =bmpHeight-temp.y;
}
if(temp.y<0)
{
temp.y=0;
}
return temp;
}
答案 0 :(得分:0)
Rect temp = Rect(0,0);
此行应为
Rect temp = new Rect(0,0);
实际上这甚至不应该编译。只需使用
Rect temp = new Rect();