日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
使用Quartz2D會(huì)遇到什么問題-創(chuàng)新互聯(lián)

這篇文章主要為大家展示了“使用Quartz2D會(huì)遇到什么問題”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“使用Quartz2D會(huì)遇到什么問題”這篇文章吧。

創(chuàng)新互聯(lián)制作網(wǎng)站網(wǎng)頁(yè)找三站合一網(wǎng)站制作公司,專注于網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站制作、做網(wǎng)站,網(wǎng)站設(shè)計(jì),企業(yè)網(wǎng)站搭建,網(wǎng)站開發(fā),建網(wǎng)站業(yè)務(wù),680元做網(wǎng)站,已為成百上千服務(wù),創(chuàng)新互聯(lián)網(wǎng)站建設(shè)將一如既往的為我們的客戶提供最優(yōu)質(zhì)的網(wǎng)站建設(shè)、網(wǎng)絡(luò)營(yíng)銷推廣服務(wù)!

        這里交代一些作圖時(shí)可能遇到的問題:

問題一:當(dāng)同時(shí)畫多條線時(shí),在第一條線設(shè)置屬性后,后面畫的所有線都會(huì)延用這些屬性來繪制。

其實(shí)解決的方法很簡(jiǎn)答,就是在繪制一條新的線條時(shí)重置下繪制的屬性即可,比如,在畫第一條是的屬性設(shè)置是:

        CGContextSetLineWidth(ctx,12);    //線條寬度


        [[UIColor redColor]set];                  //線條顏色


        CGContextSetLineCap(ctx,kCGLineCapRound);    //端點(diǎn)樣式


        在繪制第二條線時(shí)不想要延用這個(gè)屬性繼續(xù)繪制,那么可以重置這些屬性:

        CGContextSetLineWidth(ctx,1);


        [[UIColor blackColor]set];


        CGContextSetLineCap(ctx,kCGLineCapButt);

        但是這樣就出現(xiàn)了新的問題,如果繪制的線條過多,每次到新的線條都要重置屬性,這樣操作起來就會(huì)非常麻煩。當(dāng)然了,蘋果不可能沒想到這樣的問題,自然也有相應(yīng)的解決方法了。不過在這之前我們要了解一個(gè)新的概念-----圖形上下文棧:用于保存圖形上下文的狀態(tài)。
        大體過程是:在設(shè)置完第一條線的繪制屬性前,我們先保存一份最純潔的圖形上下文(此時(shí)是沒有做過任何操作的圖形上下文),然后設(shè)置完第一條線,到第二條線之前,我們拿出之前保存的圖形上下文繪制,這樣第二條線繪制的屬性其實(shí)就是系統(tǒng)默認(rèn)的屬性了。


        獲取完圖形上下文后,調(diào)用函數(shù)CGContextSaveGState(ctx);


在需要重置屬性的線條前面調(diào)用函數(shù)CGContextRestoreGState(ctx);即可

非常簡(jiǎn)單的兩部,但是要說明的是,每次保存都是一份,調(diào)用一次之后就沒有了,如果要重置幾次就保存幾次,然后調(diào)用,如果調(diào)用次數(shù)大于保存次數(shù)會(huì)直接掛掉喲~

問題二:繪制矩形時(shí)如何讓矩形旋轉(zhuǎn)角度?

        這樣的情況我們?cè)陂_發(fā)中可能會(huì)遇到,這個(gè)問題的解決就是使用系統(tǒng)自帶的函數(shù)即可。


    1、.....獲取上下文,然后


    2、CGContextRotateCTM(ctx,M_Pi_4);


    3、....設(shè)置繪制屬性

    4、....渲染

        以上方法用于旋轉(zhuǎn)角度的屬性設(shè)置,要注意的是:這里的旋轉(zhuǎn)不是將繪制的圖形旋轉(zhuǎn),而是將整個(gè)layer旋轉(zhuǎn),而所有的繪制都是在layer上進(jìn)行的,所以這個(gè)函數(shù)要在繪制屬性設(shè)置之前就調(diào)用,不然無效。


    除了旋轉(zhuǎn)以外,還有縮放和平移。


        CGContextScaleCTM(ctx,x,y);    //縮放(x代表寬的倍數(shù),y代表高的倍數(shù))


        CGContextTranslateCTM(ctx,x,y);    //平移(x、y分別代表x、y上的偏移量)


問題三:如何讓繪制的圖片顯示成圓形?

        解決這個(gè)問題的思路:先畫一個(gè)圓形,把圖片繪制在這個(gè)圓里面,超出這個(gè)圓形范圍的部分不顯示。具體的代碼:


        1、獲取上下文...


        2、CGContextAddEllipseInRect(ctx,CGRectMake(100,100,50,50));    //畫一個(gè)圓心在(100,100),半徑為50的圓形


        //關(guān)鍵的一步


        3、CGContextClip(ctx);    //指定上下文中可以顯示內(nèi)容的就是上面畫的圖形的范圍


        4、把圖片繪制到(100,100)的點(diǎn)即可。


        當(dāng)然了,正式項(xiàng)目中根據(jù)不同的需求,可以讓圖片顯示在矩形、三角形或者其他各種形狀里。


以上是“使用Quartz2D會(huì)遇到什么問題”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+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)景需求。


分享文章:使用Quartz2D會(huì)遇到什么問題-創(chuàng)新互聯(lián)
瀏覽地址:http://www.dlmjj.cn/article/gdjsi.html