CGContextDrawImage отображает размытый текст и изображения - PullRequest
0 голосов
/ 03 октября 2018

Я рендеринг содержимого PDF в UIView, и я вижу, что текст, предоставленный PDF, размыт при увеличении.

Способ рендеринга текста выглядит следующим образом

CGSize size = CGSizeMake(96, 9); // These numbers come from the PDF
NSString* text = @"Text to render";
UIGraphicsBeginImageContextWithOptions(size, NO, 0.0);
[text drawInRect:CGRectMake(0, 0, size.width, size.height)];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

Этот UIImage имеет правильный размер, и когда я проверяю его через XCode, он четкий.

Когда я вызываю CGContextDrawImage ниже

CGRect widgetRect = CGRectMake(0,0,180,90);
CGContextDrawImage(mainContext, size, image.CGImage);

Результат размыт.

Примечания :

  1. Выше mainContext имеет происхождение слева внизу, поэтому я рендую текст в отдельный контекст и рисую изображение.

  2. UIView имеет contentScaleFactor, равный 3, а mainContext имеет размер, соответствующий этому масштабу.

  3. Я смотрел на CGContextDrawImage рисует большие изображения очень размыто , и это не решает мою проблему.

  4. Я не могу воспроизвести эту проблему вне своего приложения в отдельности.

Эта последняя часть показывает мне, что проблема где-то в коде приложения, поэтому я надеюсь на подсказки и идеи о том, где искатьконвейер рендеринга и способы отладки.

EDIT: обновлен вызов до CGContextDrawImage для использования правильного размера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...