gpt4 book ai didi

ios - 内部有 UIScrollView 的 UIView 的屏幕截图

转载 作者:行者123 更新时间:2023-11-30 13:08:36 25 4
gpt4 key购买 nike

我有一个UIView,里面包含一个UIScrollView,实际上它包含一个UIImageScrollView,一个帮助我缩放UIImage的类,我想用缩放后的UIImage截取UIView的屏幕截图,我发现了这个功能:

 func captureCrop() -> UIImage {
UIGraphicsBeginImageContextWithOptions(self.viewCapturedFoto.frame.size, true, 0.0)
self.viewCapturedFoto.layer.renderInContext(UIGraphicsGetCurrentContext()!)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return image;
}

但是当屏幕截图完成后,新的 UIImage 显示没有缩放图像,我的意思是即使我缩放了 UIImage 仍然没有缩放。我不知道我是否解释得足够正确

最佳答案

我相信您的问题在于您传递到 UIGraphicsBeginImageContextWithOptions 函数中的大小参数。现在,您正在传递整个框架的大小,在 ScrollView 中,还包括屏幕外的部分。您可以尝试将大小参数更改为设备屏幕的边界,或者最坏的情况是将 UIImageScrollView 放入另一个 View 中,并使用此容器 View 的边界来设置图像大小。

供您引用的文档:

声明

func UIGraphicsBeginImageContextWithOptions(_ 大小:CGSize,_ 不透明:Bool,_ 比例:CGFloat)

参数

尺寸:新位图上下文的大小(以点为单位)。这表示 UIGraphicsGetImageFromCurrentImageContext 函数返回的图像的大小。要获取位图的大小(以像素为单位),必须将宽度和高度值乘以比例参数中的值。

关于ios - 内部有 UIScrollView 的 UIView 的屏幕截图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39018590/

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