我在 ac# 面板的背景图像上画线。面板锚定到表单,以便表单调整面板大小。背景图像设置为拉伸,因此当您调整表单大小时,您所看到的只是背景图像。
我最初的问题:在面板上绘制的线条(通过 OnPaint 事件)在图像调整大小时停留在它们最初绘制的位置。
我当前的解决方案:记录线的位置并通过缩放 X 和 Y 坐标在新的位图上重绘它(工作正常)。
我的新问题:当您不断调整窗口大小并绘制线条时,您无法从任何时间点计算缩放因子并将其应用于所有线条,因为线条最初是在不同尺寸的图像中绘制的。
我认为我有两个选项:重绘线后,通过我的线数组并更新坐标信息,使其现在与当前比例匹配。或者除了存储线的坐标信息之外,还存储面板在绘制时的尺寸信息,这样我总是可以根据每条线的绘制时间和新的面板尺寸来计算每条线的比例。
我希望的是:如果您对这两种方法中的任何一种有任何想法,将不胜感激......更好的是向我指出一个更好的方法来做到这一点(我对c# 中的图形处理)。