en

hi, it seems you are using microsoft internet explorer. it doesn't match web standard and causes problems browsing this site. please please please use mozilla firefox or google chrome instead. thank you!

zh

哦哦!您正在使用Internet Explorer 瀏覽器,它與我們的網頁標準並不相容,可能會導致畫面顯示不正常。
請改用 Mozilla Firefox 或者 Google Chrome 才能正常瀏覽本網站,謝謝!

3.22.2011

簡單旋轉 UIImageView 的方法

 

可能有很多人不知道,其實不需要使用到 QuartzCore,單純的 UIImageView 也是有簡單的變形或與旋轉功能,旋轉的方式是針對 UIImageView 的 Center 為中心做旋轉,旋轉的單位是徑度,不是一般大眾所熟知的角度,在電腦圖學或是三角函數方面倒是很常使用,由於它有一個固定的公式,因此我們可以直接在程式碼中使用 #define 來定義這個公式,其程式碼如下。

#define degreesToRadians(x) ((x) * (M_PI / 180.0))
在下面的程式碼我們將會使用這個定義式 degreesToRadians(x),而 x 就是所要帶入的角度,透過此定義式將會自動轉成徑度。

imageView.transform = CGAffineTransformMakeRotation(degreesToRadians(degree));
上述程式碼演示了如何以UIImageView 的 Center 為中心,將整個影像做旋轉的方式,雖然功能不及 QuartzCore 那樣強大,但是對於只想應付簡單的旋轉,又不想使用 QuartzCore 這麼龐大的 Framework 時,這倒是不錯的選擇,若搭配上三角函數的餘弦定理,也可以讓影像以不同的地方為中心旋轉。






沒有留言:

張貼留言