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

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

Swift 4.0
Xcode 9.0.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

 
画像は、Retinaに対応させるために 「@2x」を名前に追加して、Assets.xcassets にコピペします。
 

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

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

Reference:
CGRect

モデル 茜 さや


ページのトップへ戻る

シェアする

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

フォローする