質問編集履歴

1

この画面は推移先だったので、推移元のコードを記載しました。originalImageを書き換えてはいないのですが、心あたりがあるのはDKImagePickerControllerを取り入れたことです。

2020/06/03 01:15

投稿

ay49
ay49

スコア3

test CHANGED
File without changes
test CHANGED
@@ -250,6 +250,176 @@
250
250
 
251
251
 
252
252
 
253
+ ****推移元のコードを以下に記載します************************
254
+
255
+
256
+
257
+ import UIKit
258
+
259
+ import Photos
260
+
261
+ import DKImagePickerController
262
+
263
+
264
+
265
+ class MakeViewController: UIViewController,UIImagePickerControllerDelegate,UINavigationControllerDelegate {
266
+
267
+
268
+
269
+ @IBOutlet var cameraImageView: UIImageView!
270
+
271
+ @IBOutlet var filterButton : UIButton!
272
+
273
+ @IBOutlet var editButton : UIButton!
274
+
275
+
276
+
277
+ //画像加工するための元となる画像
278
+
279
+ var originalImage: UIImage!
280
+
281
+
282
+
283
+ //画像加工するフィルターの宣言
284
+
285
+ var filter: CIFilter!
286
+
287
+
288
+
289
+ override func viewDidLoad() {
290
+
291
+ super.viewDidLoad()
292
+
293
+ }
294
+
295
+
296
+
297
+
298
+
299
+ //カメラ、カメラロールを使った時に選択した画像をアプリ内に表示するためのメソッド
300
+
301
+ func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]){
302
+
303
+
304
+
305
+ cameraImageView.image = info[.editedImage] as? UIImage
306
+
307
+
308
+
309
+ originalImage = cameraImageView.image //カメラで写真撮った後に画像を加工する元画像として記憶しておく
310
+
311
+
312
+
313
+ dismiss(animated: true, completion: nil)
314
+
315
+
316
+
317
+ }
318
+
319
+ //撮影した画像を保存するためのメソッド
320
+
321
+ @IBAction func savePhoto(){
322
+
323
+ UIImageWriteToSavedPhotosAlbum(cameraImageView.image!, nil, nil, nil)
324
+
325
+ }
326
+
327
+
328
+
329
+ //カメラロールにある画像を読み込むメソッド
330
+
331
+ @IBAction func openAlbum(){
332
+
333
+
334
+
335
+ let pickerController = DKImagePickerController()
336
+
337
+ // 選択可能な枚数を20にする
338
+
339
+ pickerController.maxSelectableCount = 20
340
+
341
+ pickerController.didSelectAssets = { [unowned self] (assets: [DKAsset]) in
342
+
343
+
344
+
345
+ // 選択された画像はassetsに入れて返却されるのでfetchして取り出す
346
+
347
+ for asset in assets {
348
+
349
+ asset.fetchFullScreenImage(completeBlock: { (image, info) in
350
+
351
+ // ここで取り出せる
352
+
353
+ self.cameraImageView.image = image
354
+
355
+ })
356
+
357
+ }
358
+
359
+ }
360
+
361
+ self.present(pickerController, animated: true) {}
362
+
363
+ performSegueToEdit()
364
+
365
+ performsegueToFilter()
366
+
367
+ }
368
+
369
+ func performSegueToEdit(){
370
+
371
+ performSegue(withIdentifier: "toEditViewController", sender: nil)
372
+
373
+ }
374
+
375
+ func performsegueToFilter(){
376
+
377
+ performSegue(withIdentifier: "toFilterViewController", sender: nil)
378
+
379
+ }
380
+
381
+
382
+
383
+
384
+
385
+ @IBAction func back(){
386
+
387
+ self.dismiss(animated: true, completion: nil)
388
+
389
+ }
390
+
391
+
392
+
393
+ override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
394
+
395
+
396
+
397
+ if segue.identifier == "toEditViewController"{
398
+
399
+ let EditViewController: EditViewController = segue.destination as! EditViewController
400
+
401
+
402
+
403
+ EditViewController.originalImage = self.originalImage
404
+
405
+
406
+
407
+ }else if segue.identifier == "toFilterViewController"{
408
+
409
+ let FilterViewController: FilterViewController = segue.destination as! FilterViewController
410
+
411
+
412
+
413
+ FilterViewController.originalImage = self.originalImage
414
+
415
+ }
416
+
417
+ }
418
+
419
+ }
420
+
421
+
422
+
253
423
 
254
424
 
255
425
  ```