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

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

Objective-C
Xcode 9.3.1

 

CGRectMake

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

https://i-app-tec.com/objective-c/uiimageview-oc.html

 

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 …
 


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


シェアする

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

フォローする