iOS開發(fā)--如何進(jìn)行圖片縮放

?進(jìn)入新公司的第一個(gè)測(cè)試我能力的項(xiàng)目,就是做一個(gè)仿微信聊天界面的APP,其中有一個(gè)重要的考查點(diǎn)就是氣泡效果,需要?dú)馀荽笮∧苓m應(yīng)文字或者圖片、文件的顯示區(qū)域。當(dāng)時(shí)想到了用代碼和Image Slicing兩種方式實(shí)現(xiàn),和大家分享一下。

一、代碼實(shí)現(xiàn)圖片縮放


對(duì)于拉伸的方式,有以下兩種:

*IUIImageResizingModeStretch:拉伸模式,通過拉伸UIEdgeInsets指定的矩形區(qū)域是我們要保護(hù)的區(qū)域,也就是不被拉伸的區(qū)域

*UIImageResizingModeTile:平鋪模式,通過重復(fù)顯示UIEdgeInsets指定的矩形區(qū)域是要保護(hù)的區(qū)域,也就是不被重復(fù)顯示的區(qū)域

二、Image Slicing可視化縮放

何為Image Slicing呢?,其實(shí)就相當(dāng)于一個(gè)可視化的resizableImageWithCapInsets,可以用于指定在圖片縮放時(shí)用來填充的像素。我們可以在Xcode的Assets.xcassets目錄中選擇要slicing的圖片,點(diǎn)擊圖片界面右下方的Show Slicing按鈕,在想要設(shè)定切片的圖片上點(diǎn)擊Start Slicing,將出現(xiàn)左中右(或者上中下)三條可以拖動(dòng)的指示線,通過拖動(dòng)它們來設(shè)定實(shí)際的縮放范圍。


在左側(cè)線(或者上方線)和中間線之間的像素將在縮放時(shí)被填充,在中間線和右側(cè)線(或者下方線)之間的像素將被隱藏。

三、總結(jié)

代碼的方法適用于處理網(wǎng)絡(luò)上的圖片,以及image中大量同一類需要處理的圖片,提高效率;

Image Slicing方法適用于單個(gè)圖片,可視化,提高可操作性。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 對(duì)于圖片拉伸是移動(dòng)開發(fā)中很常見的需求,在前一陣子做項(xiàng)目中需要做一個(gè)類似于QQ聊天氣泡,這個(gè)氣泡會(huì)根據(jù)文字的多少而變...
    Joy___閱讀 14,163評(píng)論 27 159
  • 返回一張受保護(hù)且被拉伸的圖片 應(yīng)用場(chǎng)景:聊天窗口的氣泡 方法一(棄用): iOS 5.0以前使用(棄用)這個(gè)方法會(huì)...
    林安530閱讀 15,928評(píng)論 1 36
  • 許多UIView的子類,如一個(gè)UIButton或一個(gè)UILabel,它們知道怎么繪制自己。遲早,你也將想要做一些自...
    shenzhenboy閱讀 1,687評(píng)論 2 8
  • 今天晚上,室友聊起她曾經(jīng)病重的爺爺奶奶和那些灰暗的時(shí)光,她們聽著聽著都紅了眼眶,我卻不言不語地吃完了手里的兩個(gè)橘子...
    婷寶Ivy閱讀 456評(píng)論 2 3
  • 好了,花了三分之一分鐘編好這個(gè)題目之后,我開始考慮怎么扣題怎么閑扯。 昨晚才跟人聊過武林外傳,以及都感覺沒什么意思...
    六子棋閱讀 918評(píng)論 3 4