这更像是一个合乎逻辑的问题,一切正常。
我有一个 ImageView,为此我从 Web 服务器下载图像。我们的网络服务器保留最大尺寸的图像,然后我正在为所需的设备重新缩放图像。所以可以说,如果我有一个大小为 200 * 200 的 UIImageView 并且我正在下载 400 * 400 的图像,我将图像重新缩放为 200 * 200,然后将其放入 imageview,我尝试将 400 x 400 图像放入 200通过 200 ImageView ,我看起来很好(没有像素化)。我实现缩小的方式是
[image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];
在图像上下文中。现在我觉得苹果可能会这样做,因为它正在重新调整我的图像以适应 ImageView ,所以它真的需要吗?还是我应该直接将高分辨率图像放在 ImageView 中?
需要建议。
Best Answer-推荐答案 strong>
您应该可以将 400x400 UIImage 分配给 200x200 UIImageView。 CoreAnimation 将处理下面的图像缩放。
图像质量
如果您想尝试不同的图像缩放质量,您可以设置 minificationFilter 在 UIImageView 的图层上。默认值为 kCAFilterLinear ,我认为这对您的使用来说是可以的。将选择 400x400 图像中的多个像素并线性混合在一起以获得 200x200 图像像素颜色。 kCAFilterNearest 将以牺牲图像质量为代价获得更好的性能(选择 400x400 图像中的单个像素来获取 200x200 图像像素的颜色)。
您可以尝试使用 kCAFilterTrilinear 来代替,这应该会以牺牲一些性能为代价获得更好的图像质量。尽管this guy's 文档没有明确说明这实际上会影响哪些设备。在 iPad 2 上使用它取得了成功,这让我认为它现在可能在所有设备上都受支持。该文档还指出,您的图像可能需要具有 2 的幂的尺寸才能产生影响。
性能
您可以将图像从 200x200 缩小,或许可以作为性能优化来节省内存和 CoreAnimation 渲染时间(包括图像缩放),但我不会这样做,除非您有理由认为您的应用程序的性能实际上会受益于这个。
关于ios - 较小 ImageView 中的较大尺寸图像,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/26389861/
|