本文實(shí)例介紹了IOS定制屬于自己的個(gè)性頭像的方法,分享給大家供大家參考,具體內(nèi)容如下
一、效果圖
1、將一張圖片剪切成圓形
2、在圖片周圍顯示指定寬度和顏色的邊框
二、實(shí)現(xiàn)思路
1、效果圖中主要由不同尺寸的兩大部分組成
- 藍(lán)色的背景區(qū)域,尺寸等于圖片的尺寸加上邊框的尺寸
- 圖片區(qū)域,尺寸等于圖片的尺寸
2、繪制一個(gè)圓形背景區(qū)域,用邊框顏色填充
3、繪制一個(gè)圓形的圖片區(qū)域,設(shè)置不顯示超出的部分
三、實(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),從點(diǎn)(border, border)開始[image drawAtPoint:CGPointMake(border, border)];
6、從圖形上下文中取出繪制的圖片
UIImage *clipImage = UIGraphicsGetImageFromCurrentImageContext();
7、將圖片顯示到imageView上
self.imageView.image = clipImage;
8、關(guān)閉圖形上下文
UIGraphicsEndImageContext();
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助。




















