關情紙尾-----Quartz2D-繪製富文本,繪製圖片.,

來源:互聯網
上載者:User

關情紙尾-----Quartz2D-繪製富文本,繪製圖片.,

一般使用UIKit給我們提供的繪圖來繪製一些文字,圖片這些東西.

UIKit給我們提供畫圖的方法底層也是分為四步.所以也必須在drawRect方法當中去寫.

1.如何畫文字?

    先建立好要畫的文字

    使用UIKit提供的方法進行繪製.

    方法說明:

    drawAtPoint:要畫到哪個位置

    withAttributes:文本的樣式.

    [str drawAtPoint:CGPointZero withAttributes:nil];

 

2.如何添加繪製文字屬性?

    通過繪製方法的最後一個屬性withAttributes來設定文字屬性.

    它要求傳入的是一個字典.它是通過字典的key和Value的形式來設定文字樣式. 

    那傳什麼key,什麼值我們可以在UIKit標頭檔當中的NSAttributedString類當中去找.

    使用形式如下:

 

     建立一個可變的字典,設定key,value

     NSMutableDictionary *dict = [NSMutableDictionary dictionary];

     字型

     dict[NSFontAttributeName] = [UIFont systemFontOfSize:50];

     顏色

     dict[NSForegroundColorAttributeName] = [UIColor redColor];

     設定邊框顏色

     dict[NSStrokeColorAttributeName] = [UIColor redColor];

     dict[NSStrokeWidthAttributeName] = @1;

     陰影

     NSShadow *shadow = [[NSShadow alloc] init];

     shadow.shadowOffset = CGSizeMake(10, 10);

     shadow.shadowColor = [UIColor greenColor];

     shadow.shadowBlurRadius = 3;

     dict[NSShadowAttributeName] = shadow;

 

 3.drawAtPoint:和drawInRect:的區別?

     drawAtPoint:不能夠自動換行

     drawInRect:能夠自動換行

 

 4.如果繪製圖片?

    繪製圖片同樣開始要先把圖片素材匯入.

    AtPoint:參數說明圖片要繪製到哪個位置.

    通過調用UIKit的方法drawAtPoint:CGPointZero方法進行繪製;

 

 5.在繪製圖片過程當中.drawAtPoint:和drawInRect:兩個方法的區別?

    drawAtPoint:繪製出來的圖圖片跟圖片的實際尺寸一樣大

    drawInRect:使用這個方法繪製出來的圖片尺寸會和傳入的rect地區一樣大.

 

 6.如果進行平鋪圖片?

    [image drawAsPatternInRect:rect];

 

 7.如何選用UIKit提供的方法快速畫一個矩形?

    快速的用矩形去填充一個地區

    UIRectFill(rect);

 

 8.如何利用UIKit裁剪一個地區?

   UIRectClip(CGRectMake(0, 0, 50, 50));

   這個方法必須要設定好裁剪地區,才能有裁剪

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.