[iPhone] 画像のサイズを変更、拡大縮小するCGRectMake (Objective-C)

画像を拡大・縮小して表示するにはどうするのでしょうか。
CGRectMake
CGAffineTransformMakeScale
を使う方法について見てみましょう。
 

Objective-C
Xcode 9.3.1

 

CGRectMake

 
画像の拡大縮小はUIImageViewのframeサイズをCGRectMakeを使って拡大縮小して画像を変更する方法とCGAffineTransformMakeScale を使うやり方があります。
 
UIImageViewの基本的な設定からの続きとして、同じように画像を「Add Files to …」としてプロジェクトに追加していきます。

UIImageView クラスは画像のコンテナを提供するもので、複数の画像によるアニメーションもサポートしています。  
 

CGRectMake

 
画像の 幅、高さ を取得してそれにスケールファクターを掛け合わせることにより拡大と縮小ができます。
 
CGRectは位置とサイズの両方を管理するクラス、CGRectMake の引数として開始位置 x,y と幅と高さを設定します。

 
実際のサンプルコード
 
ViewController.m

 
画像が縦横半分になって表示されました。これは画像自体を半分にしているわけではなく、それを表示しているUIImageViewの枠であるframeサイズを元画像の半分にしているわけです。
 

 

CGAffineTransformMakeScale

 
CGAffineTransformMakeScale を使ってもできます。
これはアフェイン変換(CGAffineTransform)なので画像を回転させたりと他にも色々できますが、その中のシンプルなメソッドの1つMakeScaleを使います。
 

 
sx はX軸のスケールファクターで、syはY軸のファクター
 
ViewController.m

 
この例では画像サイズを半分にしていましたが、2倍するのも簡単にできます。
 

 
imageview_scale
 
 
References:
CGRectMake – Core Graphics | Apple Developer Documentation
CGAffineTransformMakeScale – Core Graphics | Apple Developer …
 

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

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


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

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


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



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


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




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


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


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


シェアする

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

フォローする