上一次討論了圖片拉伸的問題,只給出了一種拉伸方式,查文檔(iOS 8.3)的時候,沒有給出任何版本提示,不過看到有其他大神說,iOS 5.0 以后就被禁用了,不知道是怎么回事.
這次來討論一下美化圖片,最基本的是大家在玩QQ,微博等app時,都會發現,用戶頭像做的很漂亮,圓形的,四個角有一定弧度的矩形等等,看著讓人舒服.
接下來討論一下如何做出這樣的效果:
1 #import "ViewController.h" 2 3 @interface ViewController () 4 5 @end 6 7 @implementation ViewController 8 9 - (void)viewDidLoad {10 [super viewDidLoad];11 12 // 美化圖片的邊框13 [self beautyPhoto]; 14 }15 16 // 美化圖片的邊框17 - (void)beautyPhoto18 {19 UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMake(120, 180, 80, 80)];20 imageView.image = [UIImage imageNamed:@"6.png"]; // 80 * 8021 [self.view addSubview:imageView];22 }
上面的代碼是加載一張本地圖片,沒有做任何處理,效果如下:

因為沒有做任何處理,所以四個角是尖銳的,接下來為其處理一下邊角,代碼如下:
1 #import "ViewController.h" 2 3 @interface ViewController () 4 5 @end 6 7 @implementation ViewController 8 9 - (void)viewDidLoad {10 [super viewDidLoad];11 12 // 美化圖片的邊框13 [self beautyPhoto];14 }15 16 // 美化圖片的邊框17 - (void)beautyPhoto18 {19 UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMake(120, 180, 80, 80)];20 imageView.image = [UIImage imageNamed:@"6.png"]; // 80 * 8021 [self.view addSubview:imageView];22 23 // 美化圖片24 // 設置圖片的邊框寬度25 imageView.layer.borderWidth = 4;26 // 設置圖片的邊框顏色27 imageView.layer.borderColor = [UIColor lightGrayColor].CGColor;28 // 設置圖片的拐角的弧度的大小(此處不使用弧度)29 imageView.layer.cornerRadius = 10;30 // 截取超出邊框外的部分31 imageView.layer.masksToBounds = YES;32 }
在上面的代碼中,設置了圖片的邊框寬度,顏色以及邊角的弧度等,為了讓設置的內容顯示比較清晰,故將邊框的寬度設置的比較大,其運行效果如下:

可以看到,圖片的四個角已不再尖銳.
想做出QQ用戶頭像那種圓形頭像,也很簡單,只要設置圖片拐角的弧度大小為矩形圖片寬度的一半就行了,如果是正方形,則圖片顯示為一個圓形,如果是長方形,則圖片顯示為一個橢圓形.
上面的圖片設置拐角的弧度為40后的效果如下: // imageView.layer.cornerRadius = 40;

這樣,我們就做出QQ用戶頭像那種圓形的圖片了.
新聞熱點
疑難解答