为什么 GraphicsContext 使用带有双参数的方法?
Why GraphicsContext uses methods with double params?
我正在从 swing 转向 javafx。我想知道为什么 GraphicsContext 使用带有双参数的方法。例如 fillRect(double x, double y, double w, double h)
不像 swing 有方法 drawRect(int x, int y, int width, int height)
。
我应该用双精度进行所有计算吗?
drawRect
继承自 Graphics
,它使用 int
指定坐标和大小。
另一方面,Graphics2D
对象能够处理位于 'between whole pixels' 的图形值。为了补偿它通常会在渲染的部分渲染一个抖动像素(介于绘图和 BG 颜色之间),它必须处理像素的分数。
Should I do all my calculations in double?
是的!与整数完全相等的双精度值将按照您对 Graphics
方法的预期进行呈现 - 使用清晰、干净的线条。但是如果形状的边界落在整个像素之间,颜色就会抖动。
我正在从 swing 转向 javafx。我想知道为什么 GraphicsContext 使用带有双参数的方法。例如 fillRect(double x, double y, double w, double h)
不像 swing 有方法 drawRect(int x, int y, int width, int height)
。
我应该用双精度进行所有计算吗?
drawRect
继承自 Graphics
,它使用 int
指定坐标和大小。
另一方面,Graphics2D
对象能够处理位于 'between whole pixels' 的图形值。为了补偿它通常会在渲染的部分渲染一个抖动像素(介于绘图和 BG 颜色之间),它必须处理像素的分数。
Should I do all my calculations in double?
是的!与整数完全相等的双精度值将按照您对 Graphics
方法的预期进行呈现 - 使用清晰、干净的线条。但是如果形状的边界落在整个像素之间,颜色就会抖动。