0

我有很多不同大小的图像要在 UIScrollView 中显示。我总是希望图像以 300px 宽和可变高度显示(以保持纵横比)。

我尝试了很多东西,但没有任何效果。我要么把图像从侧面剪掉,要么被压扁。

有任何想法吗?

非常感谢任何代码或示例!

4

2 回答 2

1
UIImage* image = [UIImage imageNamed: @"img.jpg"];

...在哪里image,比方说 1280 * 720px

300/1280 = 0.234375

这是我们将使用并乘以高度的比例因子,以匹配您的目标宽度 300 像素。

0.234375 * 720 = 168.75px 高度

因此,我们的 1280 * 720px 图像变为 300 * 169px。(四舍五入)

于 2012-04-23T20:21:57.327 回答
1

iOS 中有一些内置函数允许您查看图像数据(请查看Apple 关于 CGImage 的开发人员说明。例如,如果您有

UIImage *imageObj = [UIImage imageNamed:@"whatever.png"];

您可以找到高度和/或宽度 CGGetImageWidth/CGGetImageHeight:

size_t pixelsWide = CGImageGetWidth(imageObj.CGImage);
size_t pixelsHigh = CGImageGetHeight(imageObj.CGImage);
于 2012-04-23T21:02:18.737 回答