美文网首页
UIView拼接UIImage,返回UIImage

UIView拼接UIImage,返回UIImage

作者: iOS_我更专业 | 来源:发表于2018-11-10 14:27 被阅读0次

如果想将多张图片、UIView拼接到一起,并返回UIImage,今天我们举例UIView,拼接UIImage,并生成UIImage。可以这样做:

首先,画UIView:

    let vVIew =UIView(frame:CGRect(x:0, y:0, width:SCREEN_width, height:SCREEN_HEIGHT-hHeight))

    vVIew.backgroundColor = UIColor.white

    let iImageLogo =UIImageView(frame: .zero)

    iImageLogo.frame=CGRect(x:0, y:0, width:120, height:40)

    iImageLogo.center= vVIew.center

    iImageLogo.image=UIImage(named:"logo")

    vVIew.addSubview(iImageLogo)

将UIIView转成UIIamge

letvVIewSize =CGSize(width:SCREEN_width, height:SCREEN_HEIGHT-hHeight)

UIGraphicsBeginImageContextWithOptions(vVIewSize,false,0.0)

vVIew.layer.render(in: UIGraphicsGetCurrentContext()!)

let bottomImage = UIGraphicsGetImageFromCurrentImageContext()

UIGraphicsEndImageContext()

多张UIImage拼接

let size =CGSize(width:SCREEN_width, height:SCREEN_HEIGHT)

UIGraphicsBeginImageContextWithOptions(size,false,0.0)

let iImageRect =CGRect(x:0, y:0, width:SCREEN_width, height: hHeight)

iImage.draw(in: iImageRect)

let vViewRect =CGRect(x:0, y:hHeight, width:SCREEN_width, height:SCREEN_HEIGHT- hHeight)

bottomImage?.draw(in: vViewRect)

let imageC = UIGraphicsGetImageFromCurrentImageContext()

 UIGraphicsEndImageContext()

这里补充说明,特别解释下UIGraphicsBeginImageContextWithOptions后面的参数:

    第一个是画板要画的大小;

    第二个参数是opaque用来决定透明通道是否被渲染,对没有透明度的图片设置这个参数为false;

    第三个参数是scale是显示缩放系数。当设置成0.0,主屏幕的缩放系数将被使用,对视网膜屏显示是2.0或者更高。

相关文章

网友评论

      本文标题:UIView拼接UIImage,返回UIImage

      本文链接:https://www.haomeiwen.com/subject/ezpzxqtx.html