2012-02-22 54 views
1

我必須從一定的寬度和高度,以一個已知的較小的寬度和高度在給定數量的步驟時間,例如10步或20動畫UIImageView。我正在使用CGAffineTransformscale,但是無法確定如何計算單個縮減尺寸應該發生的步驟。有沒有可以與我分享的公式?CGAffineTransformscale公式當大小已知

在此先感謝,

回答

0

最後,實際用於對數。

記住

log(X^Y) = log(X) * Y 

所以

log(X) = log(X^Y)/Y 

所以

X = exp(log(X^Y)/Y) 

在這種情況下,X是規模,在每一步。 Y是步數。 X^Y是你想要製作的總量表。例如,

Steps = 10; 
TotalScale = 0.5; 
ScaleEachTime = exp(log(TotalScale)/Steps); 

給出(點...因爲我在示例四捨五入)

   = exp(log(0.5)/10) 
       = exp(-0.693.../10) 
       = exp(-0.0693...) 
       = 0.9330.... 

因此,通過0.9330縮放10倍...給出0.5

+0

總規模首先,請接受我最深切的感謝,抽出時間來真正解釋這一點。我相信我不會忘記這件事匆忙! :-)這工作絕對好!我根據源圖像和目標圖像之間的長度和寬度差計算總比例,然後應用公式! – inforeqd 2012-02-23 03:51:02