如何将UIImageView大小定义为UIImage分辨率?

iDh*_*val 6 iphone uiimageview uiimage ipad

我有场景,我使用Web服务获取图像,所有图像都有不同的分辨率.现在我的要求是我想要分辨每个图像并使用我想要定义UIImageView的大小,这样我就可以防止我的图像模糊

例如,图像分辨率如果326像素/英寸,则图像视图应该与该图像的大小完全无代表地表示.

Rav*_*vin 1

为了解决这个问题,我们需要注意设备的显示分辨率。

例如,您有一张分辨率为 326ppi的图像,与 iPhone4、iPhone4S 和 iPod 第四代相同。因此您可以简单地使用 @Nit 和 @Peko 建议的解决方案。但对于其他设备(或这些设备上具有不同分辨率的图像),您将需要应用数学来计算尺寸以获得更好的显示效果。

现在假设您有260ppi(尺寸为宽 x 高)的图像,并且您希望将其显示在 iPhone4S 上,因此由于每英寸包含的信息小于 iPhone 的显示分辨率,因此我们需要通过减小图像尺寸来调整其大小326/260 系数。所以现在您将使用的 imageView 的大小是

imageViewWidth = W*(260/326);

imageViewHeight = H*(260/326);
Run Code Online (Sandbox Code Playgroud)

一般来说:

resizeFactor = imageResolution/deviceDisplayResolution;
imageViewWidth = W*resizeFactor;
imageViewHeight = H*resizeFactor;
Run Code Online (Sandbox Code Playgroud)

在这里我正在考虑当我们在 imageView 中设置图像并调整其大小时,它不会从图像中删除或添加像素,