在 Swift 中调整通用 PDF 图像资产的大小会产生模糊图像

Resizing Universal PDF Image Asset in Swift Produces a Blurry Image

我正在尝试放大通用 PDF 图像资源以获得清晰的输出,但图像在缩放后变得模糊,即使通用资源是矢量文件。

override func viewDidLoad() {
    super.viewDidLoad()

    let image: UIImage = UIImage(named: "map")!
    let imageView = UIImageView(image: image)

    //following line scales the image 20x
    imageView.frame = CGRectMake(0, 0, imageView.frame.width*20, imageView.frame.height*20)
    self.view.addSubview(imageView)

}

上面的代码产生这个:

.

图像资产设置如下所示:

.

我需要以未知尺寸显示清晰的图像,所以我虽然 PDF 是一个完美的选择,但它继续产生模糊的输出。感谢您的帮助!

引入对矢量资源(PDF 文件)的支持后,矢量资源会在构建时而非运行时以不同的分辨率(针对各种设备功能)转换为多个光栅图像。
所以你在视图中实际绘制的是位图图像而不是 PDF 文件。

如果您想显示 PDF 内容并且看起来清晰,您必须使用 CGPDF API 在您的视图中呈现文件。