至少有几种方法可按比例缩放比例。既然你会知道投影(房间)尺寸,并且至少应该知道其中一个缩放尺寸(假设你知道舞台的宽度),则可以按比例缩放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;
};
这里有一个演示:http://jsfiddle.net/uQDnY/
为什么脚吗?对于显示器/屏幕来说,这看起来很奇怪。 – pete
我们正在为客户创建一个房间配置器,客户需要拨打房间尺寸,这反过来会影响家具图形的尺寸,从他们的默认尺寸(它们都是均匀尺寸的图形)。 – wdews
好的,什么是分配的屏幕空间来表示房间(800x600,1024x768,1600x900等)? – pete