我有一些屏幕坐标,最大宽度为650;所以0 - 650。 如果我有一些任意比例,从40到50,其中40是最低点,50是最高点。如何转换说相对于比例的屏幕坐标为430?
答案 0 :(得分:1)
任何其他条件?基于你给我们的东西,它只是一个线性映射,它将零映射到40和650到50。
考虑到这一点,新坐标中的每个单位在旧坐标中等于65。然后430/65 = 6.61,这意味着430被映射到40 + 6.61 = 46.61
答案 1 :(得分:0)
这只是数学:
static double ScreenToScaled(int screenMin, int screenMax, int scaledMin, int scaledMax, int screenValue)
{
return (double)(screenValue - screenMin) / (double)(screenMax - screenMin) * (scaledMax - scaledMin) + scaledMin;
}
要查看其工作原理,您可以绘制与缩放值相比的屏幕值图表:
(对图表粗糙的道歉。)
根据您的屏幕值和缩放值,您的转化结果为 y = 0.01538 x + 40其中 x 是屏幕value和 y 是缩放值。