在 AspectFit 之后获取 UIImage 的维度或 CGRect
Posted
技术标签:
【中文标题】在 AspectFit 之后获取 UIImage 的维度或 CGRect【英文标题】:Get dimension or CGRect of UIImage after AspectFit 【发布时间】:2017-03-31 08:32:31 【问题描述】:我只是在寻找适合图像视图的图像大小的方法。但没有得到任何正确的方法来获得图像尺寸。 我只是想计算imageview和imageview中实际图像的差异。请指教。
【问题讨论】:
您的图片是从后端服务加载的?或者是本地资源 查看下面的链接,它可能对您有用***.com/a/6284498/5184217 【参考方案1】:实际上,当显示图像时,它的大小(图像的实例)不会改变,除非您调用压缩图像函数。
唯一的问题是它是如何在 ImageView 上绘制的。 当您对 imageview 使用宽高比时,图像会根据 ImageView 的宽度和高度中较大的一个来保持其宽度和高度之间的比率。
那么,上面@Luan Tran 展示了如何计算绘制的图像大小。
谢谢
希望对你有帮助
【讨论】:
让我试试这个【参考方案2】:你可以用这个
CGSize imageViewSize = imageView.bounds.size;
CGSize imageSize = image.size;
CGFloat minFactor = imageViewSize.width / imageSize.width;
if (imageViewSize.height / imageSize.height < minFactor)
minFactor = imageViewSize.height / imageSize.height;
CGSize resultSize = CGSizeMake(minFactor * imageSize.width, minFactor * imageSize.height);
希望对您有所帮助。
【讨论】:
以上是关于在 AspectFit 之后获取 UIImage 的维度或 CGRect的主要内容,如果未能解决你的问题,请参考以下文章
UIImage 中的自定尺寸 UITableViewCell 拉伸
如何在“方面填充”模式下将 UIImageView 裁剪为新的 UIImage?