了解UIImage大小属性与UIView帧大小属性相比较

时间:2016-04-20 21:27:02

标签: ios swift cocoa-touch uiview uiimage

我正在尝试缩小UIImage以适应我的UIView完全相同的大小,所以我不确定它们之间的确切关系。 这是我检查我的UIImage是否比我的UIView更大的方式。

let rect = preview.frame
if croppedImage.size.width  * croppedImage.scale > rect.size.width * UIScreen.
{
//RESIZE
}

这是正确的方法吗?这些值的说法是否相同?

1 个答案:

答案 0 :(得分:2)

来自UIImage class reference,引用scale属性:

  

如果您乘以图像的逻辑大小(存储在size中   通过此属性中的值,您可以获得维度   以像素为单位的图像。

来自UIWindow class reference,指的是自己的scale属性:

  

此值反映了从中转换所需的比例因子   默认逻辑坐标空间进入设备坐标空间   这个屏幕。使用默认逻辑坐标空间   点。对于标准分辨率显示,比例因子为1.0和   一个点等于一个像素。对于Retina显示器,比例因子是   2.0和一个点由四个像素表示。

因此,您应该可以将croppedImage.size.width * croppedImage.scalerect.size.width * UIScreen.scale进行比较。不过,您可以考虑将UIImage放入UIImageView。然后,您可以将frame上的UIImageView属性设置为您视图的框架,瞧! (但请注意,这可能会拉伸您的图像。)