菜鸟教程小白 发表于 2022-12-13 02:42:16

ios - 较小 ImageView 中的较大尺寸图像


                                            <p><p>这更像是一个合乎逻辑的问题,一切正常。 </p>

<p>我有一个 ImageView,为此我从 Web 服务器下载图像。我们的网络服务器保留最大尺寸的图像,然后我正在为所需的设备重新缩放图像。所以可以说,如果我有一个大小为 200 * 200 的 UIImageView 并且我正在下载 400 * 400 的图像,我将图像重新缩放为 200 * 200,然后将其放入 imageview,我尝试将 400 x 400 图像放入 200通过 200ImageView ,我看起来很好(没有像素化)。我实现缩小的方式是</p>

<pre><code>;
</code></pre>

<p>在图像上下文中。现在我觉得苹果可能会这样做,因为它正在重新调整我的图像以适应 ImageView ,所以它真的需要吗?还是我应该直接将高分辨率图像放在 ImageView 中? </p>

<p>需要建议。 </p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>您应该可以将 400x400 UIImage 分配给 200x200 UIImageView。 CoreAnimation 将处理下面的图像缩放。</p>

<p><strong><em>图像质量</em></strong></p>

<p>如果您想尝试不同的图像缩放质量,您可以设置 <a href="https://developer.apple.com/library/mac/documentation/GraphicsImaging/Reference/CALayer_class/Introduction/Introduction.html#//apple_ref/occ/instp/CALayer/minificationFilter" rel="noreferrer noopener nofollow"><code>minificationFilter</code></a>在 UIImageView 的图层上。默认值为 <code>kCAFilterLinear</code>,我认为这对您的使用来说是可以的。将选择 400x400 图像中的多个像素并线性混合在一起以获得 200x200 图像像素颜色。 <code>kCAFilterNearest</code> 将以牺牲图像质量为代价获得更好的性能(选择 400x400 图像中的单个像素来获取 200x200 图像像素的颜色)。</p>

<p>您可以尝试使用 <code>kCAFilterTrilinear</code> 来代替,这应该会以牺牲一些性能为代价获得更好的图像质量。尽管<a href="https://stackoverflow.com/questions/12730384/ios-uiimageview-scaling-image-down-produces-aliased-image-on-ipad-2" rel="noreferrer noopener nofollow">this guy&#39;s</a> 文档没有明确说明这实际上会影响哪些设备。在 iPad 2 上使用它取得了成功,这让我认为它现在可能在所有设备上都受支持。该文档还指出,您的图像可能需要具有 2 的幂的尺寸才能产生影响。</p>

<p><strong><em>性能</em></strong></p>

<p>您可以将图像从 200x200 缩小,或许可以作为性能优化来节省内存和 CoreAnimation 渲染时间(包括图像缩放),但我不会这样做,除非您有理由认为您的应用程序的性能实际上会受益于这个。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 较小 ImageView 中的较大尺寸图像,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/26389861/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/26389861/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 较小 ImageView 中的较大尺寸图像