2015-06-04 2 views
1

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

Вот код для съемки неподвижных изображений:

@IBAction func takePhoto(sender: UIButton) { 

    self.stillImageOutput!.captureStillImageAsynchronouslyFromConnection(self.stillImageOutput!.connectionWithMediaType(AVMediaTypeVideo)) { (buffer:CMSampleBuffer!, error:NSError!) -> Void in 
     var image = AVCaptureStillImageOutput.jpegStillImageNSDataRepresentation(buffer) 
     var data_image = UIImage(data: image) 
     self.previewImage.image = data_image 

    } 

} 

Спасибо

ответ

1
if let imageData = AVCaptureStillImageOutput.jpegStillImageNSDataRepresentation(buffer) { 
    if let image = UIImage(data: imageData) { 
     let square = image.size.width < image.size.height ? CGSize(width: image.size.width, height: image.size.width) : CGSize(width: image.size.height, height: image.size.height) 
     let imageView = UIImageView(frame: CGRect(origin: CGPoint(x: 0, y: 0), size: square)) 
     imageView.contentMode = UIViewContentMode.ScaleAspectFill 
     imageView.image = image 
     imageView.layer.cornerRadius = square.width/2 
     imageView.layer.masksToBounds = true 
     UIGraphicsBeginImageContext(imageView.bounds.size) 
     imageView.layer.renderInContext(UIGraphicsGetCurrentContext()) 
     let result = UIGraphicsGetImageFromCurrentImageContext() 
     UIGraphicsEndImageContext() 
     self.previewImage.image = result 
    } 
} 
+0

Спасибо за ваш ответ. Я пробовал ваш код, и то, что он сделал, это создание полного изображения, как будто я взял его, но заключил в круглую рамку. Я хочу обрезать часть изображения, а не целое изображение, с этими координатами (35, 159) и размером (250 х 250). Еще раз спасибо! – user2828182

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