Bet*_*ksu 2 svg image resize-image swift swiftui
正如您在图像中看到的,当我将 SVG 图像大小调整为 200X200 时,它们的质量会下降。这不是违反 SVG 图像逻辑吗?我认为无论我将 SVG 图像放大多大,它都不会被损坏。我能为它做些什么呢?我可以遵循哪种方法?
我在 SwiftUI 中调整了 SVG 图像的大小
Image(uiImage: .flame.resize(targetSize: CGSize(width: 200, height: 200)))
Run Code Online (Sandbox Code Playgroud)
我使用这段代码来调整图像大小。这不起作用。您可以在上面调整大小的图像中看到。我在这里找到了这个解决方案。 点击
extension UIImage {
func resize(targetSize: CGSize) -> UIImage {
return UIGraphicsImageRenderer(size:targetSize).image { _ in
self.draw(in: CGRect(origin: .zero, size: targetSize))
}
}
}
Run Code Online (Sandbox Code Playgroud)
我对 SwiftUI 不太了解,但这里有一个在 UIKit 图像视图中以多种尺寸准确显示单个 SVG 的示例:
这是在没有代码的情况下完成的。我所做的就是在资产目录中将 SVG 配置为单一大小并保留矢量数据:
这与你正在做的完全不同;您正在将 SVG绘制到图形上下文中,因此您将丢弃矢量数据并代之以位图,这当然不能完美缩放。