teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

ソースを追加

2019/11/05 09:55

投稿

hkbto
hkbto

スコア14

title CHANGED
File without changes
body CHANGED
@@ -12,4 +12,101 @@
12
12
 
13
13
  この場合、どのような原因が考えられるでしょうか?
14
14
  トップ画面から表示画面への遷移はsegueを使用しています。
15
- よろしくお願いします。
15
+ よろしくお願いします。
16
+
17
+ ```
18
+ /////////////////
19
+ //トップ画面
20
+ /////////////////
21
+ class ViewController: UIViewController {
22
+ @IBOutlet weak var imageView:UIImageView!
23
+ @IBOutlet var button: UIButton!
24
+
25
+ override func viewDidLoad() {
26
+ super.viewDidLoad()
27
+ //背景画像
28
+ imageView.image = UIImage(named:"background.png")
29
+
30
+ }
31
+
32
+
33
+ }
34
+
35
+ /////////////////
36
+ //表示画面
37
+ /////////////////
38
+ class MainViewController: UIViewController,UIPickerViewDelegate,UIPickerViewDataSource {
39
+ @IBOutlet weak var imageView:UIImageView!
40
+ @IBOutlet var beforeButton: UIButton!
41
+ @IBOutlet var afterButton: UIButton!
42
+ @IBOutlet weak var beforeText: UILabel!
43
+ @IBOutlet weak var afterText: UILabel!
44
+ //使用変数
45
+ var uiImage:UIImage!
46
+ var uiImage_bk:UIImage!
47
+ var methodValue=0
48
+ //フラグ
49
+ var image_flg = false
50
+
51
+ override func viewDidLoad() {
52
+
53
+ super.viewDidLoad()
54
+ //画像読込
55
+ if UIImagePickerController.isSourceTypeAvailable(.photoLibrary) {
56
+
57
+ // 写真を選ぶビュー
58
+ let photoView = UIImagePickerController()
59
+ // 写真の選択元をカメラロールにする
60
+ // 「.camera」にすればカメラを起動できる
61
+ photoView.sourceType = .photoLibrary
62
+ // デリゲート
63
+ photoView.delegate = self
64
+ // ビューに表示
65
+ self.present(photoView, animated: true)
66
+
67
+ }
68
+ }
69
+ }
70
+
71
+ extension MainViewController: UIImagePickerControllerDelegate, UINavigationControllerDelegate {
72
+ // 写真を選んだ後に呼ばれる処理
73
+ func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
74
+
75
+
76
+ if isProcessing == false {
77
+ isProcessing = true
78
+ //画像サイズ
79
+ let IMAGE_MAX_SIZE = 1000.0
80
+
81
+ // 選択した写真を取得する
82
+ let tmpImage = info[.originalImage] as! UIImage
83
+
84
+ //let Resize:CGSize = CGSize.init(width: tmpImage.size.width, height:tmpImage.size.height)
85
+ var tmpSize = Double(tmpImage.size.width)
86
+
87
+ if(Double(tmpImage.size.width) > IMAGE_MAX_SIZE || Double(tmpImage.size.height) > IMAGE_MAX_SIZE){
88
+ if(tmpImage.size.width >= tmpImage.size.height){
89
+ tmpSize = IMAGE_MAX_SIZE
90
+ }else{
91
+ tmpSize = IMAGE_MAX_SIZE*Double(tmpImage.size.width/tmpImage.size.height)
92
+ }
93
+ }
94
+ // ビューに表示する
95
+ let resize_tmpImage:UIImage = resize(image: tmpImage,width: floor(tmpSize))
96
+ let result = UIImage(cgImage: RBGImage(data: pixels, width: Int(resize_tmpImage.size.width), height:Int(resize_tmpImage.size.height))!)
97
+ uiImage = result
98
+ uiImage_bk = result
99
+ imageView.image = result
100
+ if(uiImage.size.width>0){
101
+ image_flg = true
102
+ }
103
+ // 写真を選ぶビューを引っ込める
104
+ self.dismiss(animated: true)
105
+ }
106
+ }
107
+ }
108
+
109
+
110
+
111
+
112
+ ```