UIScrollView内に表示したいさまざまなサイズの画像がたくさんあります。私は常に画像を幅300pxで高さを変えて表示したい(アスペクト比を維持するため)。
私はたくさんのことを試しましたが、何も機能しません。側面の画像を切り落とすか、押しつぶします。
何か案は?
コードや例は大歓迎です!
UIScrollView内に表示したいさまざまなサイズの画像がたくさんあります。私は常に画像を幅300pxで高さを変えて表示したい(アスペクト比を維持するため)。
私はたくさんのことを試しましたが、何も機能しません。側面の画像を切り落とすか、押しつぶします。
何か案は?
コードや例は大歓迎です!
UIImage* image = [UIImage imageNamed: @"img.jpg"];
...ここimage
で、1280*720pxとしましょう
300/1280 = 0.234375
これは、300pxのターゲット幅に一致するように、高さを使用して乗算するスケール係数です。
0.234375 * 720=168.75pxの高さ
したがって、1280*720pxの画像は300*169pxになります。(四捨五入)
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);