至少有幾種方法可按比例縮放比例。既然你會知道投影(房間)尺寸,並且至少應該知道其中一個縮放尺寸(假設你知道舞臺的寬度),則可以按比例縮放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