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

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

Swift 5.1
Xcode 11.3.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:画像を回転、移動、反転
 
 
関連ページ

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

一人でアプリ開発の限界を感じたら

アプリ開発を始めたけどわからないところがあり、誰かに聞きたいけど周りにはそんな人はいない…あるいは、会社で働いていて日中そんなに時間をとれないなど、オンライン・スクールがいいと思います。


TECH ACADEMY
自宅にいながら1時間でプログラミング基礎を習得

こういうものではアプリ作れないと言う意見もありますが、それは結局本人のやる気があるかないかです。やる気があっても独学では突破しにくいところは教えてもらうのが一番早い。


侍エンジニア塾
侍エンジニア塾 無料体験レッスン



とても簡単なことなのに本やネットの画像だけでは分かりにくいことはあります。実際に質問してピンポイントで教えてもらうと、なんだそんなこと、と言うのがけっこうあります。


CodeCamp
~約20,000名の受講生と300社以上の導入実績~
現役エンジニアのオンライン家庭教師CodeCamp




直接(ネットで)誰か分かる人に聞いた方が早く解決して、上達も早いと思います。


Play Ground
本業と並行してやるには月額制なのがありがたいです。


無料で転職まで
これはiOSアプリ限定ではありませんが無料です
その代わり就職することを前提にしたスクールで「エンジニアになって職を得たい」のであれば手っ取り早いかもしれません

受講料無料:社会人転職コース


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


シェアする

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

フォローする