2012-04-23 42 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

相關問題