我正在尝试缩小UIImage以适应我的UIView完全相同的大小,所以我不确定它们之间的确切关系。 这是我检查我的UIImage是否比我的UIView更大的方式。
let rect = preview.frame
if croppedImage.size.width * croppedImage.scale > rect.size.width * UIScreen.
{
//RESIZE
}
这是正确的方法吗?这些值的说法是否相同?
答案 0 :(得分:2)
来自UIImage
class reference,引用scale
属性:
如果您乘以图像的逻辑大小(存储在
size
中 通过此属性中的值,您可以获得维度 以像素为单位的图像。
来自UIWindow
class reference,指的是自己的scale
属性:
此值反映了从中转换所需的比例因子 默认逻辑坐标空间进入设备坐标空间 这个屏幕。使用默认逻辑坐标空间 点。对于标准分辨率显示,比例因子为1.0和 一个点等于一个像素。对于Retina显示器,比例因子是 2.0和一个点由四个像素表示。
因此,您应该可以将croppedImage.size.width * croppedImage.scale
与rect.size.width * UIScreen.scale
进行比较。不过,您可以考虑将UIImage
放入UIImageView
。然后,您可以将frame
上的UIImageView
属性设置为您视图的框架,瞧! (但请注意,这可能会拉伸您的图像。)