藍(lán)鷗iOS培訓(xùn)推薦:iOS開發(fā)者必須要知道要從基礎(chǔ)學(xué)起,從不會(huì)到會(huì),要了解到關(guān)于iOS培訓(xùn)方面的每一個(gè)知識(shí)點(diǎn),今天和接著和大家溝通一下有關(guān)UIImage幾個(gè)知識(shí)點(diǎn):
成都創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),騰沖企業(yè)網(wǎng)站建設(shè),騰沖品牌網(wǎng)站建設(shè),網(wǎng)站定制,騰沖網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,騰沖網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。UIImage是iOS中層級(jí)比較高的一個(gè)用來(lái)加載和繪制圖像的一個(gè)類,更底層的類還有CGImage,以及IOS5.0以后新增加的CIImage。UIImage的三個(gè)屬性分為:UIImage的size,scale及UIImage的初始化方法的對(duì)比。
一、UIImage的size,scale屬性
先想一個(gè)問題“一個(gè)圖像的尺寸到底是多大呢?”
圖像的實(shí)際的尺寸(像素)等于p_w_picpath.size乘以p_w_picpath.scale。如果做過界面貼圖的話你可能經(jīng)常會(huì)需要準(zhǔn)備至少兩套圖,一套1倍圖,一套圖已@2x命名的二倍圖。這樣當(dāng)我們的程序運(yùn)行在retina屏幕的時(shí)候系統(tǒng)就會(huì)自動(dòng)的去加載@2x的圖片,它的size將和一倍圖加載進(jìn)來(lái)的size相等,但是scale卻置為2,這點(diǎn)大家可以做個(gè)簡(jiǎn)單的小測(cè)試驗(yàn)證一下。然我們?cè)偕钊胍稽c(diǎn)兒為什么不直接加載到成二倍的尺寸呢,原因很簡(jiǎn)單因?yàn)槲覀冊(cè)诮缑娌季种羞壿嬜鴺?biāo)系中的(單位是point),而實(shí)際的繪制都是在設(shè)備坐標(biāo)系(單位是pixel)進(jìn)行的,系統(tǒng)會(huì)自動(dòng)幫我們完成從point到pixel之間的轉(zhuǎn)化。其實(shí)這個(gè)比例也就剛好和UIScreen中的scale對(duì)應(yīng),這樣整條scale的線就可以串通了。
二、UIImage的幾種初始化方法的對(duì)比
1、p_w_picpathNamed:方法
p_w_picpathNamed:是UIImage的一個(gè)類方法,它做的事情比我們看到的要稍微多一些。它的加載流程如下:
1)系統(tǒng)回去檢查系統(tǒng)緩存中是否存在該名字的圖像,如果存在則直接返回。
2)如果系統(tǒng)緩存中不存在該名字的圖像,則會(huì)先加載到緩存中,在返回該對(duì)象。
從上面可以看出系統(tǒng)會(huì)緩存我們使用p_w_picpathNamed:方法加載的圖像時(shí)候,系統(tǒng)會(huì)自動(dòng)幫我們緩存。這種機(jī)制適合于那種頻繁用到界面貼圖累的加載,但如果我們需要短時(shí)間內(nèi)頻繁的加載一些一次性的圖像的話,最好不要使用這種方法。
2、p_w_picpathWithContentsOfFile:和initWithContentsOfFile:方法
這兩個(gè)方法跟前一個(gè)方法一樣都是完成從文件加載圖像的功能。但是不會(huì)經(jīng)過系統(tǒng)緩存,直接從文件系統(tǒng)中加載并返回。
當(dāng)收到內(nèi)存警告的時(shí)候,系統(tǒng)可能會(huì)將UIImage內(nèi)部的存儲(chǔ)圖像的內(nèi)存釋放,下一次需要繪制的時(shí)候會(huì)重新去加載。
3、p_w_picpathWithCGImage:scale:orientation:方法
該方面使用一個(gè)CGImageRef創(chuàng)建UIImage,在創(chuàng)建時(shí)還可以指定方法倍數(shù)以及旋轉(zhuǎn)方向。當(dāng)scale設(shè)置為1的時(shí)候,新創(chuàng)建的圖像將和原圖像尺寸一摸一樣,而orientaion則可以指定新的圖像的繪制方向。
總結(jié):簡(jiǎn)單的介紹UIImage的size,scale及初始化方法,歡迎有興趣的同學(xué)們多關(guān)注,希望能幫助到對(duì)iOS開發(fā)有興趣的人。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。