2012-04-23 41 views
0

我有很多不同大小的图像,我想在UIScrollView中显示。我总是希望图像以300px宽的高度变化显示(以保持纵横比)。如何让我的UIImageView在固定宽度时自动缩放?

我尝试了一堆东西,但没有任何工作。我要么从侧面切掉图像或挤压图像。

任何想法?

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

回答

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); 
1
UIImage* image = [UIImage imageNamed: @"img.jpg"]; 

...其中image是,比方说,1280 * 720像素

一千二百八十○分之三百= 0.234375

这就是我们将使用和乘高我们的比例因子,以配合你的目标宽度为300px。

0.234375 * 720 = 168.75px高度

因此,我们的1280×720像素的图像进行到300 * 169px。 (四舍五入)

+0

我不知道这个图像有多大将是...... – dot 2012-04-23 20:35:03

+0

您需要购买,虽然在某种形式的图像,源是否被下载并保存作为一个临时文件,或者如果它直接进入一个类如UIImage的。 – Luke 2012-04-23 20:38:22

+0

是的,他们都在捆绑...但有数百个,我不想硬编码所有的逻辑。 – dot 2012-04-23 20:43:32

相关问题