我想在UIScrollView中显示许多不同大小的图像。我总是希望图像以300px宽的宽度显示,高度可变(以保持纵横比)。
我尝试了很多东西,但没有任何作用。我要么将图像切割成两侧,要么压扁。
有什么想法吗?
非常感谢任何代码或示例!
答案 0 :(得分:1)
UIImage* image = [UIImage imageNamed: @"img.jpg"];
... image
所在的位置,假设为1280 * 720px
300/1280 = 0.234375
这是我们将使用的比例因子,并将高度乘以,以匹配目标宽度300px。
0.234375 * 720 = 168.75px高度
因此,我们的1280 * 720px图像变为300 * 169px。 (四舍五入)
答案 1 :(得分:1)
iOS中有一些内置函数可以让你查看图像数据(看看Apple's Developer Notes on CGImage。对于这个例子,如果你有
UIImage *imageObj = [UIImage imageNamed:@"whatever.png"];
你可以找到身高和/或宽度CGGetImageWidth / CGGetImageHeight:
size_t pixelsWide = CGImageGetWidth(imageObj.CGImage);
size_t pixelsHigh = CGImageGetHeight(imageObj.CGImage);