gpt4 book ai didi

iphone - 为什么 PNG 图像有时会根据其在 View 中的位置而变得模糊

转载 作者:行者123 更新时间:2023-12-03 18:37:50 26 4
gpt4 key购买 nike

我注意到,当使用 IB 将 PNG 图像放入 View 中和/或将这些图像动画到 View 周围的不同位置时,图像有时会出现轻微模糊。

在大多数情况下,我可以通过在图像位置添加 0.5 个像素来修复模糊。

[lbLiteButton.layer setPosition:CGPointMake(140.5,159.5)];

有时我必须像上面那样调整 x 和 y。有时我只需要调整 x y。

我记得在某处读过,这与图像的大小以及核心动画的工作原理以及半像素有关......但我在任何地方都找不到这篇文章!?

“.5 像素”解决方案的问题在于,它对于每个 PNG 图像来说都是不同的,具体取决于大小,因此您无法重复使用自定义动画,因为您必须为每个不同的图像自定义它。

  1. 有没有办法确保无论我将图像放置在何处或为其设置动画,都不会出现任何模糊的位置?
  2. 有人有这方面的信息吗?

谢谢!

最佳答案

View 图层的 position 属性基于其 anchorPoint 属性。默认情况下,即 (0.5, 0.5),表示图层的 anchor 位于其中心。如果您的 View (及其图层)的宽度或高度为奇数个像素,则为该位置设置整数值将导致 View 的原点不整数,从而导致您看到的模糊。

要解决此问题,您可以通过获取所需的 View 中心位置,减去 View 宽度的一半,四舍五入该值,然后添加 View 宽度的一半,并重复高度。您还可以将 View 图层的 anchorPoint 设置为 (0,0) 并根据其原点定位 View 。

这也有可能与 super View 的错位有关。要诊断此问题,您可以使用 Instruments 中的 Core Animation 工具,然后选择 Color Misaligned Images 选项。它应该为应用程序中非像素对齐的任何 View 或图层着色。

关于iphone - 为什么 PNG 图像有时会根据其在 View 中的位置而变得模糊,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2170167/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com