IOS定制屬于自己的個性頭像
本文實例介紹了IOS定制屬于自己的個性頭像的方法,分享給大家供大家參考,具體內(nèi)容如下
一、效果圖
1、將一張圖片剪切成圓形
2、在圖片周圍顯示指定寬度和顏色的邊框

二、實現(xiàn)思路
1、效果圖中主要由不同尺寸的兩大部分組成
- 藍色的背景區(qū)域,尺寸等于圖片的尺寸加上邊框的尺寸
- 圖片區(qū)域,尺寸等于圖片的尺寸
2、繪制一個圓形背景區(qū)域,用邊框顏色填充
3、繪制一個圓形的圖片區(qū)域,設(shè)置不顯示超出的部分
三、實現(xiàn)步驟
1、加載需要顯示的圖片
UIImage *image = [UIImage imageNamed:@"資源中圖片的名字"];
2、初始化用到的變量
//圖片的寬寬高 CGFloat imageWH = image.size.width; //邊界的寬度 CGFloat border = 1; //背景區(qū)域的寬高 CGFloat ovalWH = imageWH + 2 * border;
3、開啟圖形上下文(尺寸為背景區(qū)域的尺寸)
//設(shè)置圖形上下文的尺寸 CGSize size = CGSizeMake(ovalWH, ovalWH); //開啟圖形上下文 UIGraphicsBeginImageContextWithOptions(size, NO, 0);
4、繪制背景區(qū)域
//繪制封閉的圓形路徑 UIBezierPath *path = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(0, 0, ovalWH, ovalWH)]; //設(shè)置填充顏色 [[UIColor blueColor] set]; //渲染所繪制的區(qū)域 [path fill];
5、繪制圖片區(qū)域
//繪制封閉的圓形區(qū)域 UIBezierPath *clipPath = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(border, border, imageWH, imageWH)]; //設(shè)置超出區(qū)域的內(nèi)容剪掉(不顯示) [clipPath addClip]; //見圖片繪制到圓形區(qū)域內(nèi),從點(border, border)開始 [image drawAtPoint:CGPointMake(border, border)];
6、從圖形上下文中取出繪制的圖片
UIImage *clipImage = UIGraphicsGetImageFromCurrentImageContext();
7、將圖片顯示到imageView上
self.imageView.image = clipImage;
8、關(guān)閉圖形上下文
UIGraphicsEndImageContext();
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助。
相關(guān)文章
iOS開發(fā)之使用Storyboard預(yù)覽UI在不同屏幕上的運行效果
使用Storyboard做開發(fā)效率非常高,為了防止在團隊中發(fā)生沖突,采取的解決辦法是負責UI開發(fā)的同事最好每人維護一個Storyboard, 公用的組件使用輕量級的xib或者純代碼來實現(xiàn),下面小編就給大家介紹如何使用Storyboard預(yù)覽UI在不同屏幕上的運行效果,需要的朋友可以參考下2015-08-08
iOS開發(fā)UICollectionView實現(xiàn)拖拽效果
這篇文章主要為大家詳細介紹了iOS開發(fā)UICollectionView實現(xiàn)拖拽效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-01-01
iOS開發(fā)中的ViewController轉(zhuǎn)場切換效果實現(xiàn)簡介
這篇文章主要介紹了iOS開發(fā)中的ViewController轉(zhuǎn)場切換效果實,主要針對iOS7以后新加入的API進行講解,需要的朋友可以參考下2015-09-09
iOS UIWebView 通過 cookie 完成自動登錄實例
本篇文章主要介紹了iOS UIWebView 通過 cookie 完成自動登錄實例,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-04-04
iOS基礎(chǔ)知識之@property 和 Ivar 的區(qū)別
這篇文章主要介紹了iOS基礎(chǔ)知識之@property 和 Ivar 的區(qū)別介紹,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-08-08

