AWT 绘画工具不是像素完美的

Posted

技术标签:

【中文标题】AWT 绘画工具不是像素完美的【英文标题】:AWT paint tools not pixel perfect 【发布时间】:2020-01-30 03:50:55 【问题描述】:

在使用 AWT 包绘制东西时,我发现有时当我使用诸如 fillRect 或 copyArea 之类的函数时,它有时会在侧面或底部添加一个像素,并且在绘画时变得非常烦人和引人注目非常小的形状。

我该如何解决这个问题?

更新:这是我执行g.fillRect(1, 1, 3, 3); 时发生的情况的图片,它应该会生成一个 3 x 3 的矩形: picture

很难看到,但右侧添加了一排像素。

【问题讨论】:

如果我们无法亲眼看到您的问题,我们将无法为您提供帮助。考虑创建一个minimal reproducible example 并添加某种显示问题的图像。我们不能开始做出假设来解决问题。 【参考方案1】:

请阅读fillRect() 的文档,并注意坐标的处理方式与drawRect() 不同。 fillRect() 填充一个比 drawRect() 宽和高 1 个像素的矩形。

【讨论】:

谢谢,但我认为这不是问题所在。很抱歉,我没有在我的问题中说清楚,但它有时只会发生,具体取决于矩形的位置。例如,g.fillRect(3, 5, 3, 3); 会生成一个完美的 3 x 3 矩形,即使它与问题中显示的矩形尺寸相同,也就是 4 x 3 矩形。

以上是关于AWT 绘画工具不是像素完美的的主要内容,如果未能解决你的问题,请参考以下文章

在JFrame中绘画

jquery可拖动还​​原不是像素完美的

波兰球的绘画工具

OpenGL:基本图形绘画二

精灵表动画上的像素完美碰撞,XNA

Opengl像素完美2D绘图