我有很多不同大小的图像要在 UIScrollView 中显示。我总是希望图像以 300px 宽和可变高度显示(以保持纵横比)。
我尝试了很多东西,但没有任何效果。我要么把图像从侧面剪掉,要么被压扁。
有任何想法吗?
非常感谢任何代码或示例!
我有很多不同大小的图像要在 UIScrollView 中显示。我总是希望图像以 300px 宽和可变高度显示(以保持纵横比)。
我尝试了很多东西,但没有任何效果。我要么把图像从侧面剪掉,要么被压扁。
有任何想法吗?
非常感谢任何代码或示例!
UIImage* image = [UIImage imageNamed: @"img.jpg"];
...在哪里image
,比方说 1280 * 720px
300/1280 = 0.234375
这是我们将使用并乘以高度的比例因子,以匹配您的目标宽度 300 像素。
0.234375 * 720 = 168.75px 高度
因此,我们的 1280 * 720px 图像变为 300 * 169px。(四舍五入)
iOS 中有一些内置函数允许您查看图像数据(请查看Apple 关于 CGImage 的开发人员说明。例如,如果您有
UIImage *imageObj = [UIImage imageNamed:@"whatever.png"];
您可以找到高度和/或宽度 CGGetImageWidth/CGGetImageHeight:
size_t pixelsWide = CGImageGetWidth(imageObj.CGImage);
size_t pixelsHigh = CGImageGetHeight(imageObj.CGImage);