[英]How to take screen shot of UIImageiew using image with aspect fit?
I want to take screen shot from imageview with image aspect fit.我想从 imageview 以适合图像纵横比的方式拍摄屏幕截图。 I tried with this code but it will not get actual result.我尝试使用此代码,但不会得到实际结果。 And I want get screen shot of actual image size我想得到实际图像大小的屏幕截图
func captureScreen() -> UIImage
{
let layer = self.layer
let scale = UIScreen.main.scale
UIGraphicsBeginImageContextWithOptions(layer.frame.size, false, scale);
guard let context = UIGraphicsGetCurrentContext() else {return UIImage.init(named: "")!}
layer.render(in:context)
let screenshotImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return screenshotImage!
}
This is what I get这就是我得到的 I want to screen shot with actual with full actual image size Please help me我想用完整的实际图像大小截屏请帮助我
//MARK:- Calculate ImageviewWith image size
func convertImageViewToImagebounds(image:UIImage, imageView:UIImageView) {
if image.size.height > image.size.width {
let ratio = image.size.height / image.size.width
let newWidth = imageView.frame.size.height / ratio
imageView.frame.size = CGSize(width: newWidth, height: imageView.frame.size.height)
imageView.center = CGPoint(x: viewImgViewContainer.frame.width / 2.0, y: viewImgViewContainer.frame.height / 2.0)
}else if image.size.height < image.size.width {
let ratio = image.size.width / image.size.height
let newHeight = imageView.frame.size.width / ratio
imageView.frame.size = CGSize(width: imageView.frame.size.width, height: newHeight)
imageView.center = CGPoint(x: viewImgViewContainer.frame.width / 2.0, y: viewImgViewContainer.frame.height / 2.0)
}else {
let ratio = image.size.width / image.size.height
let newHeight = image.size.width / ratio
imageView.frame.size = CGSize(width: image.size.width, height: newHeight)
imageView.center = CGPoint(x: viewImgViewContainer.frame.width / 2.0, y: viewImgViewContainer.frame.height / 2.0)
}
}
take a look here:看看这里:
this function will return your imageview
size as image
have and viewImgViewContainer is parent view of imageview to set imageview in center. this function will return your imageview
size as image
have and viewImgViewContainer is parent view of imageview to set imageview in center.
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.