[iPhone] UIImageView 画像を拡大縮小させる

画像の拡大縮小は CGAffineTransform を使うこともできますが、CGRectを使って手軽に拡大・縮小する方法について考えてみます。
 

Xcode 13.4.1

 

CGRect  画像のサイズ変更、拡大縮小

 

基本的なコンセプトは画像の 幅、高さ を取得し、それにスケールファクターを掛けて拡大と縮小の画像を表示させます。
 
CGRectは位置とサイズの両方を管理するクラス、CGRectの引数として開始位置 x,y と幅と高さを設定します。
例として、始点座標が(0,0)で横幅が200、縦幅300の矩形領域を設定するとこうなります。
 

これをImgeViewのframeに設定し画像をセットします。

例えばこのframeを2倍、1/2にリサイズすればいいわけです。(ここでは画像の縦横比アスペクト比はそのままとします。)

  1. 画像の横幅を取得
  2. 画像サイズのCGRectを作成
  3. UIImageViewのframeに設定して画像を入れる
  4. 画像を拡大するには、このCGRectをアスペクト比を維持して大きくする

実際のコードではこうなります
 
ViewController.swift

 
sample_image.jpg 画像を用意して、Retinaに対応させるために 「@2x」を名前に追加

Assets にコピペします。
 

 
ビルドして実行してみましょう。
 

 

画像の拡大・縮小はCGAffineTransformを使っても可能です。
CGAffineTransform:画像を回転、移動、反転
 
 
関連ページ

References:
CGRect – Core Graphics | Apple Developer Documentation
UIImageView – UIKit | Apple Developer Documentation
UIImage – UIKit | Apple Developer Documentation


誤字脱字、意味不明などのご意見は 謙: e-mail まで
ブックマークしておくと便利です このエントリーをはてなブックマークに追加
Twitter:


シェアする

  • このエントリーをはてなブックマークに追加

フォローする