0

UIScrollView内に表示したいさまざまなサイズの画像がたくさんあります。私は常に画像を幅300pxで高さを変えて表示したい(アスペクト比を維持するため)。

私はたくさんのことを試しましたが、何も機能しません。側面の画像を切り落とすか、押しつぶします。

何か案は?

コードや例は大歓迎です!

4

2 に答える 2

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

...ここimageで、1280*720pxとしましょう

300/1280 = 0.234375

これは、300pxのターゲット幅に一致するように、高さを使用して乗算するスケール係数です。

0.234375 * 720=168.75pxの高さ

したがって、1280*720pxの画像は300*169pxになります。(四捨五入)

于 2012-04-23T20:21:57.327 に答える
1

iOS には、画像データを表示できる組み込み関数がいくつかあります ( CGImage に関する Apple の Developer Notes を参照してください。この例では、

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 に答える