【发布时间】:2023-03-31 10:32:01
【问题描述】:
在我的程序中,我有一组由 Graphics 对象在面板上绘制的棋子(每个 Square 对象都有一个定义其边界的 Rectangle 对象)。我最近添加了一种在一些正方形上画线的方法以强调。问题是:我需要能够“擦除”这些线条,似乎擦除线条的唯一方法是重新绘制受线条“影响”的正方形。
我想问一下,假设一条线从PointA(x, y) 开始,到PointB(x, y) 停止,我如何确定面板上要重绘的方格?是否最好将每条线解析为一系列点,然后检查哪个 Square.Rectangle 包含任何点?如果是这样,我该怎么做?
【问题讨论】:
-
您是否已经将正方形的坐标存储在某个地方?
-
不是 c# 而是 openprocessing.org/sketch/454672
-
工作量太大。为什么不重新绘制 all 矩形?您无需编写代码并花费额外的 CPU 周期来找出需要重绘的矩形。
-
也许,我会这样做@kennyzx