所以,我創建了幾個相似圖片:如何調整Javascript圖像大小?
images = [];
images[0] = new Image();
images[0].src = "bla.jpg";
images[1] = new Image();
images[1].src = "bla1.jpg";
images[2] = new Image();
images[2].src = "bla2.jpg";
這不是實際的加載算法,但產品是一樣的:我留下了所謂的「圖像」的陣列的,當然,包含一些圖像。
我在做一個遊戲,我需要調整畫布大小,以適應玩家的屏幕大小。我知道如何做到這一點,但現在,我需要調整所有圖像的大小。我不知道該怎麼做。
我最初的做法是這樣的:
for (var i = 0; i < images.length; i ++)
{
images[i].width *= ratio; // newWidth/defaultWidth
images[i].height *= ratio;
}
我沒有注意到這個變化,雖然如此,我這樣做,只是要確定:
for (var i = 0; i < images.length; i ++)
{
images[i].width = 3; //I'd probably notice if every image in the game was shrunk to this size
images[i].height = 3;
}
這甚至陌生人。這些圖像仍然保持不變,然而,遊戲減慢了很多。 FPS下降到0.5或類似的東西。
現在,我該如何去調整圖像大小?
編輯:我不這樣做,當然,要調整實時圖像是這樣的:
context.drawImage(image, x, y, image.w*r, image.h*r);
因爲在我的經驗,這大大降低了性能。
如果您使用瀏覽器動態縮放圖像,就像您正在嘗試執行的操作那樣,渲染性能將大大降低,因爲瀏覽器必須在繪製時縮放圖像。某些瀏覽器在緩存預縮放位時可能比其他瀏覽器更好,但有些瀏覽器並不擅長,並且在縮放這樣的圖像時性能肯定會下降。 – jfriend00 2012-04-06 16:23:04