gpt4 book ai didi

ios - 在 Swift 中合并两个滚动和缩放的图像

转载 作者:行者123 更新时间:2023-11-30 14:04:21 24 4
gpt4 key购买 nike

我尝试创建一个类似于 PicFrame 或任何其他应用程序的功能,用于在一个框架中创建照片拼贴画。

我在这些 ScrollView 中创建了两个 ScrollView 和两个 ImageView ,用于滚动和缩放图像。效果很好。

然后我需要创建两个矩形图像的一个正方形图像。

var firstImage = UIImage(named: leftImagePath)
var secondImage = UIImage(named: rightImagePath)

var size = CGSize(width: 1080, height: 1080)
UIGraphicsBeginImageContext(size)

let leftImageAreaSize = CGRect(x: 0, y: 0, width: size.width / 2, height: size.height)
firstImage!.drawInRect(leftImageAreaSize)

let rightImageAreaSize = CGRect(x: size.width / 2 + 1 , y: 0, width: size.width / 2, height: size.height)
secondImage!.drawInRect(rightImageAreaSize)

var newImage:UIImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()

这段代码运行良好,但我需要实现滚动和缩放值,在创建一张方形图像之前使用这些值裁剪和缩放图像。

谁能指导我如何做到这一点?

最佳答案

我制作了 PicFrame,所以我想我在这里有一些经验。虽然这不是我所做的,而且我自己也没有尝试过,但如果您只是想快速了解所看到的内容,可以使用 drawViewHierarchyInRect并捕获屏幕区域。

否则你想要做的是从 UIScrollView 获取 CGPoint contentOffset 和 CGSizebounds.size。然后你可以通过UIScrollView的zoomScale来修改这些。确保您的 contentSize 是图像的大小,以便 1.0 的 ZoomScale 具有原始图像的宽度和高度。

由此,您应该能够创建一个 CGRect,它是 ScrollView 中可见内容的 x、y、宽度、高度,但转换为图像的大小。将图像裁剪为此尺寸,然后使用所需的 CGRect 将其绘制到最终的图形上下文中。

关于ios - 在 Swift 中合并两个滚动和缩放的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32601597/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com