基本上,我想做的是使绘图工作更轻松。

在VB6时代,有一种叫做Scalewidth和Scaleheight的东西,我可以将它们设置为自定义值。例如100

然后,当我需要在可用空间的中心绘制一个点时,我将其绘制在50,50处。

.Net中有什么方法可以让我获得类似的功能?

这样,无论我得到的绘图画布大小是多少,我都可以使用绝对坐标进行绘制。

最佳答案

我不知道是否可以在.NET中实现此目标,但是您可以自己轻松实现此目标:

// Unscaled coordinates = x, y; canvas size = w, h;
// Scaled coordinates = sx, sy; Scalewidth, Scaleheight = sw, sh;
x = (sx / sw) * w;
y = (sy / sh) * h;

// Or the other way round
sx = (x / w) * sw;
sy = (y / h) * sh;

关于c# - 净等效于ScaleHeight和Scalewidth,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/555793/

10-12 21:32