真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

使用Quartz2D會(huì)遇到什么問(wèn)題-創(chuàng)新互聯(lián)

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

創(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)站開(kāi)發(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í)可能遇到的問(wèn)題:

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

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


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


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

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

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

        這樣的情況我們?cè)陂_(kāi)發(fā)中可能會(huì)遇到,這個(gè)問(wèn)題的解決就是使用系統(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)用,不然無(wú)效。


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


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


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


問(wèn)題三:如何讓繪制的圖片顯示成圓形?

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


        1、獲取上下文...


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


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


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


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


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


以上是“使用Quartz2D會(huì)遇到什么問(wèn)題”這篇文章的所有內(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元起步,三天無(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)景需求。


本文題目:使用Quartz2D會(huì)遇到什么問(wèn)題-創(chuàng)新互聯(lián)
瀏覽路徑:http://weahome.cn/article/gdjsi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部