我正在使用Canvas通过矩形绘制数字。这些数字是对真实世界形状进行建模,因此度量是实数(双变量)。因此,我所做的是缩放维度,然后将双变量转换为int变量。问题是由于转换步骤中的“四舍五入”,有时候图形没有正确显示。在这种情况下如何准确绘制数字?
以下是用于绘制矩形的代码:
x0 = viewWidth/2 + (int)((-figRealWidth/2 + figureRectangles[i].getX0()) * drawFactor);
y0 = viewHeight/2 + (int)((-figRealHeight/2 + figureRectangles[i].getY0()) * drawFactor);
x1 = x0 + (int)(figureRectangles[i].getWidth() * drawFactor);
y1 = y0 + (int)(figureRectangles[i].getHeight() * drawFactor);
canvas.drawRect(x0, y0, x1, y1, paintRectangle);