[ios]カメラ撮影orアルバムから画像を取得して、ボタンの背景にする方法

下記の記事を参考に、画像のようなものを実装してみました。
https://qiita.com/kitanoow/items/fbf58a943fb2cd1c2127

トリミングをしたいんですが、なかなかいい方法が見つからず、とりあえず先のタスクをこなします。
結構、簡単にカメラが使えたのが、驚き。今度カメラでアプリ作ってみようかな。
そろそろ書くネタがなくなってきた。。。

<img width="375" alt="fullsizeoutput_927.jpeg" src="https://qiita-image-store.s3.amazonaws.com/0/175906/74a534c4-b308-20df-83cb-d149b40d08d2.jpeg">


<img width="375" alt="fullsizeoutput_928.jpeg" src="https://qiita-image-store.s3.amazonaws.com/0/175906/b4a5c6b8-befc-aa89-c3cd-216aa06b214b.jpeg">


```swift:ViewController.swift
 @IBAction func cameratapped(_ sender: CustomButton) {
        //アラート表示のためにインスタンス化
        let actionSheet = UIAlertController(title: "", message: "グループ画像を設定してください！", preferredStyle: UIAlertControllerStyle.actionSheet)
        let tappedcamera = UIAlertAction(title: "カメラで撮影する", style: UIAlertActionStyle.default, handler: {
            (action: UIAlertAction!) in
            self.tappedcamera()
        })
        
        let tappedlibrary = UIAlertAction(title: "ライブラリから選択する", style: UIAlertActionStyle.default, handler: {
            (action: UIAlertAction!) in
            self.tappedlibrary()
        })
        
        let cancel = UIAlertAction(title: "キャンセル", style: UIAlertActionStyle.cancel, handler: {
            (action: UIAlertAction!) in
            print("キャンセル")
        })
        
　　　　　　　　　　　　　　　　//作成したalertactionを追加
        actionSheet.addAction(tappedcamera)
        actionSheet.addAction(tappedlibrary)
        actionSheet.addAction(cancel)
        
        //画面に表示。これを書かないと表示されない。
        present(actionSheet, animated: true, completion: nil)
        
    }
    
    //　撮影が完了時した時に呼ばれる
    func imagePickerController(_ imagePicker: UIImagePickerController,
                               didFinishPickingMediaWithInfo info: [String : Any]) {
        
        if let pickedImage = info[UIImagePickerControllerOriginalImage]
            as? UIImage {
            
　　　　　　　　　　　　　　　　　　　　　　　//buttonの背景画像を変えるのは、「setBackgroundImag」。
            cameratap.contentMode = .scaleAspectFit
            cameratap.setBackgroundImage(pickedImage, for: UIControlState())
            cameratap.setTitle("", for: .normal)
            
        }
        
        //閉じる処理
        imagePicker.dismiss(animated: true, completion: nil)
        
    }
    
    // 撮影がキャンセルされた時に呼ばれる
    func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
        picker.dismiss(animated: true, completion: nil)
    }
    
    func tappedcamera() {
        let sourceType:UIImagePickerControllerSourceType =
            UIImagePickerControllerSourceType.camera
        // カメラが利用可能かチェック
        if UIImagePickerController.isSourceTypeAvailable(
            UIImagePickerControllerSourceType.camera){
            // インスタンスの作成
            let cameraPicker = UIImagePickerController()
            cameraPicker.sourceType = sourceType
            cameraPicker.delegate = self
            self.present(cameraPicker, animated: true, completion: nil)
            
        }
        else{
            print("error")
        }
    }
    
    func tappedlibrary() {
        let sourceType:UIImagePickerControllerSourceType =
            UIImagePickerControllerSourceType.photoLibrary
        
        if UIImagePickerController.isSourceTypeAvailable(
            UIImagePickerControllerSourceType.photoLibrary){
            // インスタンスの作成
            let cameraPicker = UIImagePickerController()
            cameraPicker.sourceType = sourceType
            cameraPicker.delegate = self
            self.present(cameraPicker, animated: true, completion: nil)
            
        }
        else{
            print("error")

        }
    }

```