Изменение размера универсального актива PDF-изображения в Swift создает размытое изображение

Я пытаюсь увеличить универсальный актив изображения 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-файл является идеальным кандидатом для этого, но он продолжает давать размытые результаты. Любая помощь приветствуется!

1 ответ

Решение

Когда появилась поддержка векторных ресурсов (PDF-файлов), векторные ресурсы были преобразованы в несколько растровых изображений с различным разрешением (для различных возможностей устройства) во время сборки, а не во время выполнения.
То, что вы на самом деле рисуете в своем представлении, это растровое изображение, а не файл PDF.

Если вы хотите отобразить содержимое PDF и выглядеть чётко, вы должны использовать CGPDF API для визуализации файла в вашем представлении.

Другие вопросы по тегам