我在整个网络上进行了广泛的搜索,认为有人可能有类似的需求,但是做得很短。我需要创建一个计算器,根据宽度和高度字段(以英尺为单位)调整可拖动对象的舞台大小。
我需要保持最大宽度和高度,理想情况下,可以在变量中设置以便于修改。此最大宽度和高度将以像素为单位进行设置。我想,我会在“数据 - ”属性中设置舞台上可拖动项目的尺寸。我不打算在屏幕分辨率方面与之匹配。
最好的方法是什么?我在数学方面相当平庸,并且能够创建像这样扩展对象阶段及其容器所需的函数。
我是一个熟练的jQuery用户,所以如果在这里使用jQuery是有意义的,那就太好了。提前谢谢。
答案 0 :(得分:1)
至少有几种方法可以按比例缩放比例。由于您将知道投影(房间)尺寸,并且您应该至少知道其中一个缩放尺寸(假设您知道舞台的宽度),您可以按比例缩放objectLengthInFeet / roomWidthInFeet * stageWidthInPixels
。
假设一个例子的舞台宽度为500像素,一旦你知道了舞台的尺寸和舞台的宽度:
var stageWidth = 500,
roomWidth = parseFloat($('#width').val(), 10) || 0, // default to 0 if input is empty or not parseable to number
roomHeight = parseFloat($('#height').val(), 10) || 0, // default to 0 if input is empty or not parseable to number
setRoomDimensions = function (e) {
roomWidth = parseFloat($('#width').val(), 10);
roomHeight = parseFloat($('#height').val(), 10);
},
feetToPixels = function feetToPixels(feet) {
var scaled = feet / roomWidth * stageWidth;
return scaled;
};