2009-11-21 92 views
0

在我的应用程序中,我希望使用Windows Create Graphics方法绘制多边形,然后通过允许用户选择多边形的点并允许重新定位它们来编辑多边形。更快绘制矢量图形

我使用moue move事件来获取点的新位置,以获取要移动的点的新坐标,并使用Paint事件重新绘制多边形。该应用程序正在工作,但当一个点被移动时,移动不平稳。

我不知道天气鼠标移动或绘画事件的性能障碍。

任何人都可以提出一个建议,如何改善?

回答

1

您可能没有真正的性能问题 - 可能是因为您只需要画到屏幕外DC,然后将其复制到窗口中,这样可以减少闪烁并使运动看起来更平滑。

如果您使用Win32 API进行编码,请参阅this以供参考。

1

确保您不会为每次鼠标移动重新绘制。这样做的正确方法是处理所有输入事件,修改多边形数据并设置重绘需要发生的标志(在不调用UpdateWindow()的情况下,窗口可能只调用InvalidateRect())。

0

...当然,请确保您只使需要重新粉刷的区域无效。由于您正在跟踪多边形,因此只会使多边形区域(前后状态的矩形联合)无效。