2015-06-04 3 views
1

Я пытаюсь обрезать изображение в swift. Я пытаюсь реализовать что-то вроде этого, пользователь сделает снимок. Как только фото будет захвачено, пользователю будет разрешено установить область обрезки. Я могу получить изображение из этой области обрезки, но хочу, чтобы изображение обрезки было изменено до определенной ширины и высоты. То есть, если конкретная высота или ширина меньше, то это должно быть изменено.Обрезать изображение в swift

enter image description here

Это изображение должно быть кадра из его максимальная ширина и высота. В настоящее время он просто добавляет прозрачность в другую область.

Я был также добавил свой код для кадрирования

  let tempLayer = CAShapeLayer() 
 
      tempLayer.frame = self.view.frame 
 
      
 
      let path = UIBezierPath() 
 
      var endPoint: CGPoint! 
 
      
 
      for (var i = 0; i<4; i++){ 
 
       let tag = 101+i 
 
       let pointView = viewCrop.viewWithTag(tag) 
 
       switch (pointView!.tag){ 
 
       case 101: 
 
        endPoint = CGPointMake(pointView!.center.x-20, pointView!.center.y-20) 
 
        path.moveToPoint(endPoint) 
 
       default: 
 
        path.addLineToPoint(CGPointMake(pointView!.center.x-20, pointView!.center.y-20)) 
 
       } 
 
      } 
 
      
 
      path.addLineToPoint(endPoint) 
 
      path.closePath() 
 
      tempLayer.path = path.CGPath 
 
      
 
      tempLayer.fillColor = UIColor.whiteColor().CGColor 
 
      tempLayer.backgroundColor = UIColor.clearColor().CGColor 
 
      imgReceiptView.layer.mask = tempLayer 
 
      
 
      UIGraphicsBeginImageContextWithOptions(viewCrop.bounds.size, imgReceiptView.opaque, 0.0); 
 
      imgReceiptView.layer.renderInContext(UIGraphicsGetCurrentContext()) 
 
      let cropImg = UIGraphicsGetImageFromCurrentImageContext() 
 
      UIGraphicsEndImageContext(); 
 
      
 
      UIImageWriteToSavedPhotosAlbum(cropImg, nil, nil, nil) 
 
      imgReceiptView.hidden = true 
 
      
 
      let tempImageView = UIImageView(frame: CGRectMake(20,self.view.center.y-80, self.view.frame.width-40,160)) 
 
      tempImageView.backgroundColor = UIColor.grayColor() 
 
      tempImageView.image = cropImg 
 
      tempImageView.tag = 1001 
 
      tempImageView.layer.masksToBounds = true 
 
      self.view.addSubview(tempImageView)

Любая помощь будет заметные

Заранее спасибо

ответ

Смежные вопросы