【问题标题】:how to bend a rectangular png onto a circular on iOS?如何在iOS上将矩形png弯曲成圆形?
【发布时间】:2013-05-16 17:33:27
【问题描述】:

我已经通过代码创建了一个 .png 图像; .png 的形状是矩形,我想创建一个圆形的 .png,就好像我能够将 rect 的两个较小的边连接起来一样。 我正在考虑使用 bezierPathWithArcCenter:radius:startAngle:endAngle:顺时针:但是如何在它上面绘制图像? 非常感谢任何帮助

【问题讨论】:

  • 您的意思是要围绕一条路径拉伸矩形,使两条较短的边相交并形成一个环? (即en.wikipedia.org/wiki/Annulus_(mathematics)
  • 是的,但不知道如何实现;我对以编程方式修改图形很陌生。

标签: ios cocoa-touch uiimage png geometry


【解决方案1】:

听起来这对 Core Image 来说是一项工作(特别是过滤器 CICircularWrap),但不幸的是 在 iOS 上不可用

docs 中的更多内容,适用于对任何感兴趣的人或在 OS X 上工作的人。

【讨论】:

  • 没错,我的错。它在 iOS 开发者库中,但仍然仅限于 OS X。 OP 也可以提交错误报告以在 iOS 上实现过滤器...
  • 别觉得太糟糕,我只是看了看,因为我不知道 (tm) 支持这样的东西,我正在学习关于 iOS 的各种东西。
  • 这正是我正在寻找的......但它在 iOS 中缺失
【解决方案2】:

这可能根本不是您想要的(虽然它可能是......),但如果您只是希望您的图像出现在一个圆圈中,如果您的图像是方形的,您可以使用层技巧,像这样:

image.layer.cornerRadius = image.frame.size.height / 2;
image.layer.masksToBounds = YES;

也就是说,将圆角半径设为高度的一半,就可以将正方形变成圆形。 :-)

为了更好地定义圆,您可以轻松添加边框:

image.layer.borderWidth = 2;
image.layer.borderColor = [UIColor black].CGColor;

现在,在UITableViewCell 中做这种事情要小心,因为表的性能可能会受到影响。但总的来说,这些简单的技术可以毫不费力地增加很多 UI 趣味。

【讨论】:

  • 不幸的是,我正在寻找弯曲一个矩形,将其包裹成一个圆圈;
猜你喜欢
  • 1970-01-01
  • 2023-03-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-07-20
  • 2017-09-07
相关资源
最近更新 更多