【发布时间】:2014-02-21 17:28:18
【问题描述】:
我已下载适用于 iOS 的新 Facebook messanger 应用程序。我想知道,是否有一些选项可以“裁剪”图像并只留下一个圆圈?
如果能够放置一个矩形的 UIImage 并裁剪圆形部分,那就太好了。
或者你认为这是在服务器端完成的?也就是说,没有专门的iOS裁剪功能,只是Facebook服务器上的一个裁剪软件?
【问题讨论】:
标签: ios objective-c facebook uiview
我已下载适用于 iOS 的新 Facebook messanger 应用程序。我想知道,是否有一些选项可以“裁剪”图像并只留下一个圆圈?
如果能够放置一个矩形的 UIImage 并裁剪圆形部分,那就太好了。
或者你认为这是在服务器端完成的?也就是说,没有专门的iOS裁剪功能,只是Facebook服务器上的一个裁剪软件?
【问题讨论】:
标签: ios objective-c facebook uiview
使用
imageView.layer.cornerRadius=imageView.frame.size.width/2.0;
imageView.clipsToBounds=YES;
【讨论】:
这实际上很容易做到。
您要做的是创建一个与您的视图大小相同的 CAShapeLayer。创建一个使用圆角矩形的 UIBezierPath,其圆角半径是高度/宽度的 1/2。这为您提供了一条圆形路径。
将贝塞尔路径的 CGPath 安装到形状层中。然后将形状图层设置为填充不透明的颜色。
最后,将形状图层安装为视图图层上的蒙版。结果是形状层剪切了视图并且只显示了形状层的不透明部分。
【讨论】: