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

質問編集履歴

2

誤字

2019/11/07 16:47

投稿

shiosako
shiosako

スコア6

title CHANGED
File without changes
body CHANGED
@@ -6,7 +6,8 @@
6
6
  エラーは出ていません。
7
7
 
8
8
  ViewController
9
+
9
- ...swift
10
+ ```swift
10
11
  //画像send
11
12
  let defaults = UserDefaults.standard
12
13
  var capturedImage: UIImage!
@@ -49,10 +50,10 @@
49
50
  return returnImage!
50
51
  }
51
52
  }
52
- ...
53
+ ```
53
54
 
54
55
  ViewController2
55
- ...
56
+ ```
56
57
  @IBOutlet weak var cameraView: UIImageView!
57
58
  //画像取得
58
59
  let defaults = UserDefaults.standard
@@ -76,4 +77,4 @@
76
77
  UIImageWriteToSavedPhotosAlbum(image,self,#selector(self.didFinishSavingImage(_:didFinishSavingWithError:contextInfo:)),nil)
77
78
  }
78
79
  }
79
- ...
80
+ ```

1

誤字

2019/11/07 16:47

投稿

shiosako
shiosako

スコア6

title CHANGED
File without changes
body CHANGED
@@ -2,4 +2,78 @@
2
2
  にします。
3
3
  そして別のViewControllerにその画像をuser defaultを利用して渡したいと考えています。
4
4
  ですが、画像が渡せていないのか、スクリーンショットがうまくできていないのか
5
- 遷移先のViewControllerで画像を表示させることができません。
5
+ 遷移先のViewControllerで画像を表示させることができません。
6
+ エラーは出ていません。
7
+
8
+ ViewController
9
+ ...swift
10
+ //画像send
11
+ let defaults = UserDefaults.standard
12
+ var capturedImage: UIImage!
13
+
14
+ //画像キャプチャー
15
+ func getScreenShot(windowFrame: CGRect) -> UIImage {
16
+
17
+ UIGraphicsBeginImageContextWithOptions(windowFrame.size, false, 0.0)
18
+
19
+ self.view.drawHierarchy(in: self.view.bounds, afterScreenUpdates: true)
20
+ //let context: CGContext = UIGraphicsGetCurrentContext()!
21
+ //self.view.layer.render(in: context)
22
+ capturedImage = UIGraphicsGetImageFromCurrentImageContext()!
23
+ UIGraphicsEndImageContext()
24
+
25
+ return capturedImage
26
+ }
27
+ //savebutton
28
+ @IBAction func saveButton(_ sender: Any) {
29
+ capturedImage = getScreenShot(windowFrame: self.cameraView.bounds)
30
+ defaults.UIImageToData(image: capturedImage, forKey: "image")
31
+ // sendSaveImage()
32
+ }
33
+ }
34
+ extension UserDefaults {
35
+ // 保存したいUIImage, 保存するUserDefaults, Keyを取得
36
+ func UIImageToData(image: UIImage, forKey: String) {
37
+ // UIImageをData型へ変換
38
+ let nsdata = image.pngData()
39
+ // UserDefaultsへ保存
40
+ self.set(nsdata, forKey: forKey)
41
+ }
42
+ // 参照するUserDefaults, Keyを取得, UIImageを返す
43
+ func getImageData(forKey: String) -> UIImage {
44
+ // UserDefaultsからKeyを基にData型を参照
45
+ let data = self.data(forKey: forKey)
46
+ // UIImage型へ変換
47
+ let returnImage = UIImage(data: data!)
48
+ // UIImageを返す
49
+ return returnImage!
50
+ }
51
+ }
52
+ ...
53
+
54
+ ViewController2
55
+ ...
56
+ @IBOutlet weak var cameraView: UIImageView!
57
+ //画像取得
58
+ let defaults = UserDefaults.standard
59
+ override func viewDidLoad() {
60
+ super.viewDidLoad()
61
+ //
62
+
63
+ self.view.backgroundColor = UIColor.init(red: 230/255, green: 255/255, blue: 230/255, alpha: 90/100)
64
+ capturedImage = defaults.getImageData(forKey: "image")
65
+
66
+ let rect = cameraView.frame
67
+ imageView = UIImageView(frame:rect)
68
+ imageView.contentMode = .scaleAspectFit
69
+ imageView.image = capturedImage
70
+ imageView.center = self.cameraView.center
71
+ self.cameraView.addSubview(imageView)
72
+
73
+ }
74
+ @IBAction func saveButton(_ sender: Any) {
75
+ let image = mergeImage(windowFrame: cameraView.frame)
76
+ UIImageWriteToSavedPhotosAlbum(image,self,#selector(self.didFinishSavingImage(_:didFinishSavingWithError:contextInfo:)),nil)
77
+ }
78
+ }
79
+ ...