stretchableImageWithLeftCapWidth:topCapHeight:函...

一、- (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight  函數

這個函數是UIImage的一個實例函數,它的功能是建立一個內容可拉伸,而邊角不拉伸的圖片,須要兩個參數,第一個是不拉伸區域和左邊框的寬度,第二個參數是不拉伸區域和上邊框的寬度。 spa

第一次用這個函數的時候一直搞不懂爲何只要兩個參數就行,至少應該指定左上角和右下角,總共四個參數啊。後來讀讀文檔才明白,只須要兩個參數就好了。 對象

參數的意義是,若是參數指定10,5。那麼,圖片左邊10個像素,上邊5個像素。不會被拉伸,x座標爲11和一個像素會被橫向複製,y座標爲6的一個像素會被縱向複製。注意:只是對一個像素進行復制到必定寬度。 圖片

附:兩個聊天用的汽泡,與參數值。

ci

stretchableImageWithLeftCapWidth:topCapHeight:函數用法 總結 - 雲水禪心 - 雲水禪心  15,13

stretchableImageWithLeftCapWidth:topCapHeight:函數用法 總結 - 雲水禪心 - 雲水禪心  21,13 文檔

二、- (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight it

這個函數是UIImage的一個實例函數,它的功能是建立一個內容可拉伸,而邊角不拉伸的圖片,須要兩個參數,第一個是不拉伸區域和左邊框的寬度,第二個參數是不拉伸區域和上邊框的寬度。
以下圖:(原圖) table

stretchableImageWithLeftCapWidth:topCapHeight:函數用法 總結 - 雲水禪心 - 雲水禪心

調整後的圖:
stretchableImageWithLeftCapWidth:topCapHeight:函數用法 總結 - 雲水禪心 - 雲水禪心
代碼:
float capWidth = 100.0f;
float topCapWidth = 100.0f;

baseGreen = [[[UIImage imageNamed:@"green.png"]stretchableImageWithLeftCapWidth:capWidth   topCapHeight:topCapWidth] retain]; float

三、 stretchableImageWithLeftCapWidth:topCapHeight:建立並返回一個具備指定的值上限的新形象的對象。 

 - (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight 方法

參數
leftCapWidth
要使用的值上限爲左側的寬度。指定0若是你不但願的形象是橫向拉伸。有關討論如何值會影響形象,看到leftCapWidth財產。

topCapHeight
要使用的值爲頂蓋的寬度。指定0若是你不但願的形象是垂直拉伸。有關討論如何值會影響形象,看到topCapHeight財產。

返回值
具備指定值上限的新形象的對象。

討論
在縮放或圖像大小,所涵蓋的範疇的上限是不進行縮放或調整大小。相反,1像素寬的面積在每一個方向上帽蓋正是縮放或調整大小。這種技術一般用於建立可變寬度按鈕,保有相同的圓角,但其中心區域的放大或縮小的須要。

使用此方法來添加值上限的圖像或改變圖像的現有上限的值。在這兩種狀況下,你得到了一新的圖像和原始圖像仍然無動於衷。

說白了就是對一個圖像作處理,只將中間須要放大的部分進行縮放,而四個角不作拉伸,四個邊只作單方向上的拉伸。
相關文章
相關標籤/搜索