Ios 将视图渲染为图像
我正在使用相机拍照,当我按下某个按钮时,将调用Ios 将视图渲染为图像,ios,swift,uiimageview,uiimage,Ios,Swift,Uiimageview,Uiimage,我正在使用相机拍照,当我按下某个按钮时,将调用createImage方法。在这里,我试图将一个名为containerView的视图渲染到相机在previewImageView中拍摄的图像中。然而,问题在于相机中的图像大小为1080x1920,而containerView的大小因设备而异。例如,在iphone 6上,它将是375x503。我如何才能确保这两个对象可以像下面的快速插图中那样一起渲染 在我的代码中,containerView在下角非常小 目前我的代码 func createImage(
createImage
方法。在这里,我试图将一个名为containerView
的视图渲染到相机在previewImageView
中拍摄的图像中。然而,问题在于相机中的图像大小为1080x1920
,而containerView
的大小因设备而异。例如,在iphone 6上,它将是375x503
。我如何才能确保这两个对象可以像下面的快速插图中那样一起渲染
在我的代码中,containerView
在下角非常小
目前我的代码
func createImage() -> UIImage {
//Get the taken image
let fullSizeImage = previewImageView.image
let newOverLayHeight = fullSizeImage!.size.width / self.containerView!.frame.width * self.containerView!.frame.height
print(newOverLayHeight)
//Render containerView to image
UIGraphicsBeginImageContext(CGSizeMake(fullSizeImage!.size.width, newOverLayHeight));
self.containerView!.layer.renderInContext(UIGraphicsGetCurrentContext()!)
let overlayImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
//Merge these two images
let newSize = CGSizeMake(fullSizeImage!.size.width, fullSizeImage!.size.height)
UIGraphicsBeginImageContext( newSize )
fullSizeImage!.drawInRect(CGRectMake(0,0,newSize.width,newSize.height))
//draw overlayImage on top of fullsizeImage
overlayImage.drawInRect(CGRectMake(0,fullSizeImage!.size.height - newOverLayHeight, overlayImage!.size.width,overlayImage.size.height), blendMode:CGBlendMode.Normal, alpha:1.0)
let newImage = UIGraphicsGetImageFromCurrentImageContext()
return newImage
}
我想要什么