如何在iOS上将矩形png弯曲成圆形?
我通过代码创建了一个 .png 图像; .png 的形状是矩形的,我想创建一个圆形的 .png ,就好像我能够将矩形的 2 个较小的边连接起来一样。 我正在考虑使用 bezierPathWithArcCenter:radius:startAngle:endAngle:顺时针: 但如何在其上绘制图像? 非常感谢任何帮助
I have created a .png image by code; the .png is rectangular in shape and I want to create a circular shaped .png as if I'm able to have the 2 smaller sides of the rect join.
I was thinking to use bezierPathWithArcCenter:radius:startAngle:endAngle:clockwise: but then how to draw the image on top of it?
any help is much appreciated
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
听起来这本来是 Core Image(特别是过滤器 CICircularWrap)的工作,但不幸的是,这在 iOS 上不可用。
更多内容请参见 docs,对于感兴趣的人,或者在 OS X 上工作的人。
Sounds like it would have been a job for Core Image (specifically the filter CICircularWrap), but that is unfortunately not available on iOS.
More in the docs, for people interested anyway, or working on OS X.
这可能根本不是您想要的(但可能是......),但如果您只是想让图像出现在圆形中,如果您的图像是方形的,您可以使用图层技巧伪造一个圆形,就像这样:
也就是说,将角半径设为高度的一半,就可以将正方形变成圆形。 :-)
为了更好地定义圆圈,您可以轻松添加边框:
现在,在
UITableViewCell
中执行此类操作时要小心,因为表格的性能可能会受到影响。但一般来说,这些简单的技巧可以不费吹灰之力就增加很多 UI 的趣味性。This may not be at all what you're looking for (it could be though...), but if you simply want your image to appear in a circle, IF your image is square, you can fake a circle using layer tricks, like so:
That is, make the corner radius half the height and you can turn a square into a circle. :-)
To better define the circle, you can easily add a border:
Now, be careful about doing this sort of thing in
UITableViewCell
's because performance of the table can suffer. But generally speaking, these simple techniques can add a lot of UI interest with little effort.