「Ios/swift/画像」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→アスペクトを維持) |
|||
(同じ利用者による、間の8版が非表示) | |||
行3: | 行3: | ||
#pngファイルを選択 | #pngファイルを選択 | ||
#以下コードをViewControllerに追加 | #以下コードを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 | ||
==アイコン追加== | ==アイコン追加== | ||
#プロジェクト直下のAssets.xcassetsを開いてアイコン画像をそれぞれのサイズにドラッグ | #プロジェクト直下の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 |
2016年8月2日 (火) 00:16時点における最新版
画像追加と表示
- プロジェクトからAddNewFIle~"プロジェクト名"を選択
- pngファイルを選択
- 以下コードを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
アイコン追加
- プロジェクト直下の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