2013-05-07 71 views
0

我有這個UIImageview,與圖像。這是一個小圖像,與平鋪的使用CGAffineTransformMakeScale時圖像縮放

resizableImageWithCapInsets 

方法。如果以編程方式更改UIImageview的幀大小,內部圖像不會被拉伸,而是被重複,所以像素保持像素,這對於執行與屏幕大小無關的圖像非常有用。

現在,當我做了

self.myImageView.transform=CGAffineTransformMakeScale(5.0, 5.0); 

到的UIImageView包含/顯示該圖片,我注意到,圖像現在居然被拉伸。

我嘗試將圖像重新加載到視圖中,但這似乎沒有幫助。

UIImageView處於「Scale to Fill」模式。

簡而言之,問題是:我如何確保圖像不被拉伸,而是在轉換後平鋪?

更新:使用CGAffineTransformMakeScale的原因是,我想相對於其中心增長/縮小圖像(視圖)。

回答

0

不是直接將變換應用於視圖,而是使用CGRectApplyAffineTransform並轉換圖像視圖框。對於所有可能的轉換而言,這並不適用,儘管如此限制了翻譯和縮放。

+0

工作正常,但我之所以首先使用CGAffineTransformMakeScale,是爲了從中心進行縮放:增加/縮小圖像(視圖),同時保持視圖的中心位置固定。我將編輯我的原始問題。 – Sjakelien 2013-05-07 13:50:20

+0

在這種情況下,您最好的選擇可能僅僅是使用CGRectInset。 – Wain 2013-05-07 14:31:27

+0

輝煌,謝謝! – Sjakelien 2013-05-07 17:10:51