在我的应用程序中,我有一个将 pdf 绘制到上下文中的方法:
CGPDFPageRef page = CGPDFDocumentGetPage(pdf, index + 1);
CGAffineTransform transform = aspectFit(CGPDFPageGetBoxRect(page, kCGPDFTrimBox),
CGContextGetClipBoundingBox(ctx));
CGContextConcatCTM(ctx, transform);
CGContextDrawPDFPage(ctx, page);
现在在缩放时调用的drawLayer中,我进行必要的转换并再次调用CGContextDrawPDFPage(ctx, page);
发生的情况是在第一个 pdf 之上绘制了一个缩放的 pdf,问题是在一个只有文本的特定页面中,显示了背面和模糊的 pdf。这很奇怪,我认为 pdf 页面有白色背景,如果发生这种情况,那是因为顶部的缩放 pdf 具有透明背景。
现在,要解决这个问题,如何在 drawLayer 方法的 CGContextDrawPDFPage(ctx, page) 之前清除上下文?我试过了:
//self.view.transform = CGAffineTransformIdentity;
//CGAffineTransform transform = CGAffineTransformIdentity;
//CGContextConcatCTM(ctx, transform);
//CGContextClearRect(ctx, layer.bounds);
没有任何效果...在此先感谢