【问题标题】:UIButton image pixelatedUIButton 图像像素化
【发布时间】:2017-02-20 20:17:56
【问题描述】:

我无法让我的 UIButton 图像不被像素化。原始图像是 432X417,我的按钮大小是 18X17。我在界面生成器中设置按钮并将内容模式设置为aspect fit

【问题讨论】:

  • 您不应该在一个 18X17 的小按钮内拥有 432X417 (!!!) 像素图像。
  • @pkc456 我正在使用一个 pdf,我缩小到我需要的大小,然后将它添加到单一比例的图像资产中,它仍然会出现像素化。
  • @Brosef,你是如何创建 pdf 的? (a) 从 svg (b) 从 png 到直接缩小?

标签: ios swift3 uibutton


【解决方案1】:

您绝对不应该尝试将 432x417 像素的图像安装到 18x17 点按钮中。

您应该在图像编辑器(例如 Photoshop)中以目标尺寸创建图像并将其安装到您的资产目录中。请记住,对于大多数设备,18x17 点图像需要为 36x34 像素以用于 2x 视网膜,而对于 6+ 和 7+ 设备所需的@3x 缩放比例为 54x51 像素。

如果图像是矢量 PDF,那么它应该可以很好地缩放,尽管 18x17 点非常小并且难以显示很多细节。

【讨论】:

  • 感谢邓肯提供的信息。因此,如果我有一张大图像,可以说是 500X500 像素。我需要将其缩小到我需要的大小并将其添加到我的 xcode 项目中吗?我认为aspectFit 的意义在于它会缩小图像以适应图像视图的大小。
  • 会的,但是(a)它可能做得不太好,并且(b)它需要更多的内存才能给它一个大的图像。它必须将大图像扩展为每像素 4 字节,然后为缩放后的图像创建另一个 4 字节/像素缓冲区,并且 (c) 它更慢,因为它必须不断地将大图像渲染为更小的尺寸。跨度>
  • 如果原始图像是矢量图像,您将获得更好的结果,直接将其渲染为目标尺寸,而不是获取矢量图像的超大位图并将其缩小。
  • 一般来说,缩小图像效果很好。但是,当尺寸变化很大和/或目标尺寸非常小时,结果往往很差。
  • 我一直认为大型高分辨率图像可以缩小到任何尺寸都不会出现问题。经验教训。
猜你喜欢
  • 1970-01-01
  • 2016-08-22
  • 2016-07-05
  • 1970-01-01
  • 2012-02-14
  • 1970-01-01
  • 2019-08-25
  • 2022-01-24
  • 1970-01-01
相关资源
最近更新 更多