Ios 如何为所有iPhone分辨率选择1 UIImage大小?
如果我(目前)只能添加一个图像大小,我应该选择什么图像大小? 图像将在Ios 如何为所有iPhone分辨率选择1 UIImage大小?,ios,uiimage,screen-resolution,Ios,Uiimage,Screen Resolution,如果我(目前)只能添加一个图像大小,我应该选择什么图像大小? 图像将在UITableViewCell中使用,最可能的宽度是从边到边,而高度可能会有所不同 所以,我是否应该添加1242px宽度的图像,然后应用程序本身将其缩小到750/640px?或者我应该使用750px,因为iPhone 6的用户比6+多,而且更多的用户会拥有更好的图像(换言之,更多的人会看到原始图像,而不是缩放图像)?使用1242px图像并缩小它的比例。要获得尽可能最佳的图像质量,请设置yourUIImageView.layer
UITableViewCell
中使用,最可能的宽度是从边到边,而高度可能会有所不同
所以,我是否应该添加1242px宽度的图像,然后应用程序本身将其缩小到750/640px?或者我应该使用750px,因为iPhone 6的用户比6+多,而且更多的用户会拥有更好的图像(换言之,更多的人会看到原始图像,而不是缩放图像)?使用1242px图像并缩小它的比例。要获得尽可能最佳的图像质量,请设置yourUIImageView.layer.minificationFilter=kCAFilterTrilinear。使用三线性过滤时,您不会看到图像质量有任何差异 另一个选项是在使用图像之前缩小图像的比例:
extension UIImage {
public func rescale(width: CGFloat, _ height: CGFloat) -> UIImage {
let newSize = CGSizeMake(width, height)
UIGraphicsBeginImageContextWithOptions(newSize, false, 0.0)
drawInRect(CGRectMake(0.0, 0.0, newSize.width, newSize.height))
let scaledImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return scaledImage
}
}
let myImage = UIImage(named: "myimage").rescale(newWidth, newHeight)
如果我只是简单地添加像cell.myImageView.image=someImage这样的图像,这样做不好吗?换句话说,它有多糟糕?如果你已经设置了minificationFilter,那么你可以将图像设置为imageview。请记住设置正确的内容模式以保持图像纵横比正确。因此,我选择了纵横比匹配,将
UImage.frame.size
调整为与原始图像成比例,然后cell.myImageView.image=someImage
和cell.myImage.layer.minificationFilter=kCAFilterTrilinear
,这就是您需要做的所有事情。