gpt4 book ai didi

ios - 调整使用 UIGraphicsBeginImageContextWithOptions 截取的屏幕截图的大小

转载 作者:行者123 更新时间:2023-11-28 09:12:45 25 4
gpt4 key购买 nike

在我正在开发的应用程序中,客户输入一些个人信息并在屏幕上的一个框中签名。然后我以编程方式截取完整 View 并将其转换为 base64。

这工作正常,但是,由于图像的大小,将其转换为 base64 并将其发送到 API 服务器大约需要 15 秒。全画质图像大小与 iPad Air 分辨率 (1536x2048) 相同。

在服务器上保存为 PNG 后,图像的重量约为 410kb。

我想在不损失清晰度的情况下将图像捕获的大小调整为 768x1024(它的一半)。我认为这将节省时间和存储空间。

我目前正在使用以下功能截取“屏幕截图”:

func screenCaptureAndGo() {
//Create the UIImage
UIGraphicsBeginImageContextWithOptions(view.frame.size, view.opaque, 0.0)
view.layer.renderInContext(UIGraphicsGetCurrentContext())
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()

imageData = UIImagePNGRepresentation(image)
imageDataString = imageData.base64EncodedStringWithOptions(NSDataBase64EncodingOptions.Encoding64CharacterLineLength)
}

我省略了 API 服务器的内容,因为它不是很相关。

最佳答案

我最终只使用了 Scale 属性。第一次没有用,这就是为什么我不想再次使用它,但在玩弄它之后我让它工作了。

我使用 0.7 作为缩放量,图像现在以 100kb 计时,转换和发送 base64 字符串需要 4 秒。

关于ios - 调整使用 UIGraphicsBeginImageContextWithOptions 截取的屏幕截图的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28674988/

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