我有很多不同大小的图像,我想在UIScrollView中显示。我总是希望图像以300px宽的高度变化显示(以保持纵横比)。如何让我的UIImageView在固定宽度时自动缩放?
我尝试了一堆东西,但没有任何工作。我要么从侧面切掉图像或挤压图像。
任何想法?
任何代码或例子非常感谢!
我有很多不同大小的图像,我想在UIScrollView中显示。我总是希望图像以300px宽的高度变化显示(以保持纵横比)。如何让我的UIImageView在固定宽度时自动缩放?
我尝试了一堆东西,但没有任何工作。我要么从侧面切掉图像或挤压图像。
任何想法?
任何代码或例子非常感谢!
有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);
UIImage* image = [UIImage imageNamed: @"img.jpg"];
...其中image
是,比方说,1280 * 720像素
一千二百八十○分之三百= 0.234375
这就是我们将使用和乘高我们的比例因子,以配合你的目标宽度为300px。
0.234375 * 720 = 168.75px高度
因此,我们的1280×720像素的图像进行到300 * 169px。 (四舍五入)
我不知道这个图像有多大将是...... – dot 2012-04-23 20:35:03
您需要购买,虽然在某种形式的图像,源是否被下载并保存作为一个临时文件,或者如果它直接进入一个类如UIImage的。 – Luke 2012-04-23 20:38:22
是的,他们都在捆绑...但有数百个,我不想硬编码所有的逻辑。 – dot 2012-04-23 20:43:32