我正在尝试在画布上绘制一个矩形,中心位于触摸点。我正在使用以下代码:
canvas.drawRect((point.x + 15), (point.y + 15),(point.x + 15),(point.y + 15), paint);
但它不起作用。
但是当我使用时,
canvas.drawRect(point.x , point.y ,(point.x + 30),(point.y + 30), paint);
令人惊讶的是,它有效。但唯一的危害是它不以触摸坐标为中心。矩形的左上角与触摸坐标重合。 我哪里错了?
答案 0 :(得分:7)
你的x,y对都是
(point.x + 15), (point.y + 15)
您希望第一对
(point.x - 15), (point.y - 15)
答案 1 :(得分:4)
你的第一个例子是绘制一个1像素点,这就是为什么它看起来不起作用。
要在接触点绘制30px的方格,请尝试此
canvas.drawRect(point.x - 15 , point.y - 15 , point.x + 15, point.y + 15, paint);
答案 2 :(得分:0)
试试这个:
int rectWidth = 15;
int rectHeight = 15;
canvas.drawRect((point.x - rectWidth / 2), (point.y - rectHeight / 2),(point.x + rectWidth / 2),(point.y + rectHeight / 2), paint);