将 UIView 转换为 UIImage 时添加对角线透明线
Diagonal transparent lines are added while converting UIView to UIImage
我正在尝试将包含 2 个 UIImageView 的 UIView 转换为 UIImage。几乎一切正常,但在最终转换时,最终的 UIImage 中显示了一些透明的对角线。我不明白为什么会这样。如果有人可以提供帮助。谢谢
extension UIView {
/**
Convert UIView to UIImage
*/
func toImage() -> UIImage {
UIGraphicsBeginImageContextWithOptions(self.bounds.size, self.isOpaque, 0.0)
self.drawHierarchy(in: self.bounds, afterScreenUpdates: false)
let snapshotImageFromMyView = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return snapshotImageFromMyView!
}
}
以下是保存图像前后
输入图像描述Before Saving保存后
我发现了问题,我的代码正在将生成的 UIImage 转换为质量为 0.70 的 Webp。那是在图像中添加线条。通过保存 jpg 然后转换为 webp 解决了问题。
我正在尝试将包含 2 个 UIImageView 的 UIView 转换为 UIImage。几乎一切正常,但在最终转换时,最终的 UIImage 中显示了一些透明的对角线。我不明白为什么会这样。如果有人可以提供帮助。谢谢
extension UIView {
/**
Convert UIView to UIImage
*/
func toImage() -> UIImage {
UIGraphicsBeginImageContextWithOptions(self.bounds.size, self.isOpaque, 0.0)
self.drawHierarchy(in: self.bounds, afterScreenUpdates: false)
let snapshotImageFromMyView = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return snapshotImageFromMyView!
}
}
以下是保存图像前后
输入图像描述
我发现了问题,我的代码正在将生成的 UIImage 转换为质量为 0.70 的 Webp。那是在图像中添加线条。通过保存 jpg 然后转换为 webp 解决了问题。