2011-11-18 46 views
1

我知道這是一個非常簡單的比率計算,但我眼睛睜得大大的,只是盯着屏幕,所以,我真的很感激提升。如何計算放大位圖的尺寸?

我有一張縮小到更小的顯示窗口的照片。爲了方便使用,假設我的照片是1000x1000,窗口是500x500。

因此,當整個照片顯示爲0.5倍時。

隨着用戶放大其比例尺的變化。在某些時候,用戶想要收集窗口中的圖像部分。如果用戶將其增長到100%,則顯示500像素(並且500個在屏幕外並且不需要)。

我需要公式來計算用戶想要抓取的相對像素的數量,具體取決於窗口中顯示的內容。

令人困惑的是,圖像越大,我會想要的像素越少(因爲它最小的像素都是1000像素,但隨着像素越來越大,越來越多的像素在外面窗口,我會想要越來越少的像素)。

TIA

回答

2

你會想抓住displayWidth/scale像素,其中displayWidth是顯示區域的寬度和規模的圖像的縮放,就像在你的榜樣0.5。由於圖像和顯示區域的寬度和高度可能不同,因此您應該在兩個維度(寬度和高度)中執行此計算。

此外,如果圖像的寬度(或高度)小於displayWidth/scale,您可能希望將其改爲圖像寬度。

+0

謝謝!這看起來會起作用。 –

0

所以當圖像是在其原有的規模你想要1/2的像素,如果它的2倍大,你會想要的像素的1/4 ....

(picSize/zoomFactor) * 0.5

0.5,因爲這是你使用的數字,但應該用比率替換displaySize/picSize

+0

只有在顯示區域大小隻有圖像大小的一半時才能使用。因此它非常依賴於加載的圖像。 – vidstige

+0

這些是OP使用的數字,我只是用它們作爲例子 – yurib