2017-06-12 1 views
1

Le code ci-dessous est un code permettant de prendre une photo standard à l'aide du sélecteur d'image. Je travaille sur une application qui masque une photo. Donc ce que j'essaie de faire est de bloquer une partie du sélecteur d'image avec une boîte. Ainsi, l'utilisateur sait qu'il ne devrait pas y mettre face à face avec une boîte dessus. Example of image picker with box on it. For a better result when the photo is masked. Ajouter un objet sur l'image Affichage de la photo du sélecteur (swift3)

class ViewController: UIViewController, UINavigationControllerDelegate, UIImagePickerControllerDelegate { 
var currentImageView: UIImageView? 
var imagePicker: UIImagePickerController! 
let maskView = UIImageView() 

@IBOutlet var letImageVIEW: UIImageView! 


@IBOutlet var finalImage: UIImageView! 
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) { 
    let image = info[UIImagePickerControllerOriginalImage] as! UIImage 
    self.dismiss(animated: true, completion: nil) 
    self.currentImageView?.image = image 

} 
@IBAction func takePhotoLeft(_ sender: Any) { 
    self.currentImageView = self.letImageVIEW 
    imagePicker = UIImagePickerController() 
    imagePicker.delegate = self 
    imagePicker.sourceType = .camera 
    present(imagePicker, animated: true, completion: nil) 

    } 

Répondre

0

Vous pouvez utiliser la propriété UIImagePickerControllercameraOverlayView. Essaye ça.

@IBAction func takePhotoLeft(_ sender: Any) { 

    self.currentImageView = self.letImageVIEW 
    imagePicker = UIImagePickerController() 
    imagePicker.delegate = self 
    imagePicker.sourceType = .camera 

    let blockView = UIView.init(frame: CGRect.init(x: 0, y: 0, width: self.view.frame.size.width, height: 150)) 
    blockView.backgroundColor = UIColor.red 
    imagePicker.cameraOverlayView = blockView 
    imagePicker.showsCameraControls = false 

    present(imagePicker, animated: true, completion: nil) 
}