Я рендеринг содержимого 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);
Результат размыт.
Примечания :
Выше mainContext
имеет происхождение слева внизу, поэтому я рендую текст в отдельный контекст и рисую изображение.
UIView имеет contentScaleFactor, равный 3, а mainContext
имеет размер, соответствующий этому масштабу.
Я смотрел на CGContextDrawImage рисует большие изображения очень размыто , и это не решает мою проблему.
Я не могу воспроизвести эту проблему вне своего приложения в отдельности.
Эта последняя часть показывает мне, что проблема где-то в коде приложения, поэтому я надеюсь на подсказки и идеи о том, где искатьконвейер рендеринга и способы отладки.
EDIT: обновлен вызов до CGContextDrawImage
для использования правильного размера.