facebook twitter hatena line email

Ios/swift/画像

提供: 初心者エンジニアの簡易メモ
移動: 案内検索

画像追加と表示

  1. プロジェクトからAddNewFIle~"プロジェクト名"を選択
  2. pngファイルを選択
  3. 以下コードをViewControllerに追加
let image1:UIImage? = UIImage(named:"sample.png")
let imageView = UIImageView(image:image1)
imageView.center = CGPointMake(100, 100)
self.view.addSubview(imageView)

参考:https://akira-watson.com/iphone/uiimageview.html

アイコン追加

  1. プロジェクト直下のAssets.xcassetsを開いてアイコン画像をそれぞれのサイズにドラッグ

画像フィット

let image = CIImage(image: UIImage(named: "sample.png")!)
var imgView: UIImageView!
imgView =  UIImageView(frame: CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height))
imgView.image = UIImage(CIImage: image!)
self.view.addSubview(imgView)

アスペクトを維持

imgView.contentMode = UIViewContentMode.ScaleAspectFit
UIViewContentMode.ScaleToFill,        // UIImageViewにめいっぱいひろげる (デフォルト
UIViewContentMode.ScaleAspectFit,     // 画像のaspect比を維持し、ちょうどはいるようにする
UIViewContentMode.ScaleAspectFill,    // 画像のaspect比を維持し、めいっぱい広げる(はみ出した分がみれなくなる)
UIViewContentMode.Redraw,             // UIViewContentModeScaleToFill これと同じ
UIViewContentMode.Center,             // 画像サイズをそのままに、真ん中を表示
UIViewContentMode.Top,                //                         上を
UIViewContentMode.Bottom,             //                         下を
UIViewContentMode.Left,               //                         左を
UIViewContentMode.Right,              //                         右を
UIViewContentMode.TopLeft,            //                         左上を
UIViewContentMode.TopRight,           //                         右上を
UIViewContentMode.BottomLeft,         //                         左下を
UIViewContentMode.BottomRight,        //                         右下を

参考:http://d.hatena.ne.jp/rnamiki/20090226/1235667228

画像を画面いっぱいに拡大

let screenWidth:Double = Double(self.view.bounds.width)
let width:Double = Double(testImageView.bounds.width)
let height:Double = Double(testImageView.bounds.height)
let scale:Double = Double(screenWidth / width)
let rect:CGRect = CGRectMake(0, 0, CGFloat(width * scale), CGFloat(height * scale))
testImageView.frame = rect