【问题标题】:Prob when rotating an uiimageview旋转 uiimageview 时出现问题
【发布时间】:2024-01-08 00:52:01
【问题描述】:

当我使用 uiimageview 时,我想以一个小角度旋转它,我做到了。但是,旋转后的uiimageview的边框会出现尖刺,像锯子一样。我不知道为什么并尝试修复它,但我不能。请帮帮我。

【问题讨论】:

  • 你能把你的图片或其他的东西发给我们吗?

标签: ios cocoa-touch uiimageview rotation


【解决方案1】:

几个选项..

1) 如果您使用 Core Graphics 功能旋转,您可以启用抗锯齿选项

CGContextSetAllowsAntialiasing(context, true);
CGContextSetShouldAntialias(context, true);

2) 为您的图像的所有 4 面添加一个 1 像素的透明边框。

还有一件事,您看到的尖峰有一个技术术语,它是混叠。防止混叠的技术称为抗混叠技术。希望这会有所帮助。

【讨论】:

  • @kent 不要忘记接受对您有帮助的答案 - 这就是 * 的工作方式和帮助他人的方式。
【解决方案2】:

谢谢大家 :) 我的朋友向我展示了另一种修复它的方法。我认为这种方式比使用透明边框技巧更好。他将 info plist 文件中的一个属性“Renders with edge antialiasing”更改为 YES。一切都会好起来的:)。我希望它会帮助有人和我有同样的问题:)

【讨论】:

    【解决方案3】:

    将 UIView 作为 subView 并将 UIImageView 放在 subView 上。 保持 subView 和 UIImageView 的大小相同。

    现在,将“UIViewAnimationTransitionFlipFromRight”或“UIViewAnimationTransitionFlipFromLeft”与计时器一起使用。

    【讨论】:

      【解决方案4】:

      您可以轻松地在图像周围添加一个 1 像素的透明边框。因此,如果您的图像是 50x50 像素,您需要将其设置为 52x52 以使外部像素透明。当你旋转它现在应该看起来很好。

      【讨论】: