1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > UI(11)——Image——把多张图片合成一张图

UI(11)——Image——把多张图片合成一张图

时间:2021-11-24 03:04:31

相关推荐

UI(11)——Image——把多张图片合成一张图

在平常我们开发的时候, 我们会遇到各种各样的需求, 比如想微博那样, 把多张图片合成一张长图, 现在让我们来看看怎么把多张图片合成一张长图.

1.布置界面

2.实现代码一(绘制多张图片)

// 1.把多张绘制成一张图片func drawImages(imageArray: [UIImage]) -> UIImage {// 1.1.图片的宽度var width: CGFloat = 0// 1.2.图片的高度var height: CGFloat = 0// 1.3.遍历图片数组里的所有图片for image in imageArray {// 1.3.1.获取每一张图片的宽度width = (image.size.width > width) ? image.size.width : width// 1.3.2.获取每一张图片的高度, 并且相加height += image.size.height}// 1.4.开始绘制图片的大小UIGraphicsBeginImageContext(CGSize(width: width, height: height))// 1.5.设置一个变量用来获取UIImage的Y值var imageY: CGFloat = 0// 1.6.遍历图片的数组for image in imageArray {// 1.6.1.开始绘画图片image.drawAtPoint(CGPoint(x: 0, y: imageY))// 1.6.2.自增每张图片的Y轴imageY += image.size.height}// 1.7.获取已经绘制好的图片let drawImage = UIGraphicsGetImageFromCurrentImageContext()// 1.8.结束绘制图片UIGraphicsEndImageContext()// 1.9.返回已经绘制的图片return drawImage}

3.实现代码二(合成两张图片)

// 1.把两张图片绘制成一张图片func combine(leftImage: UIImage, rightImage: UIImage) -> UIImage {// 1.1.获取第一张图片的宽度let width = leftImage.size.width// 1.2.获取第一张图片的高度let height = leftImage.size.height + rightImage.size.height// 1.3.开始绘制图片的大小UIGraphicsBeginImageContext(CGSize(width: width, height: height))// 1.4.绘制第一张图片的起始点leftImage.drawAtPoint(CGPoint(x: 0, y: 0))// 1.5.绘制第二章图片的起始点rightImage.drawAtPoint(CGPoint(x: 0, y: leftImage.size.height + 5))// 1.6.获取已经绘制好的let imageLong = UIGraphicsGetImageFromCurrentImageContext()// 1.7.结束绘制UIGraphicsEndImageContext()// 1.8.返回已经绘制好的图片return imageLong}

4.最终效果

项目地址:/s/1hr1iVze密码:voy6

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。