CGContextDrawImage渲染模糊的文本和图像

时间:2018-10-03 01:29:59

标签: iphone pdf core-graphics

我正在将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 draws large images very blurry,但没有解决我的问题。

  4. 我无法在自己的应用之外重现此问题。

最后一部分向我展示了问题出在应用程序代码中,所以我希望获得有关在渲染管道中的位置以及如何调试的提示和想法。

编辑: 将calll更新为CGContextDrawImage以使用正确的大小。

0 个答案:

没有答案