将 UIView 上下文的位图内容复制到另一个 UIView 的位图内容

发布于 2024-08-29 20:51:00 字数 238 浏览 3 评论 0原文

基本上我想要做的是将已经渲染的内容(使用 CGContextDrawPDFPage() 绘制到 UIView 的图形上下文中的 PDF)复制到类似的 UIView 上,而不必重新渲染 PDF。我的想法是,然后我能够在 UIView 上执行动画转换,然后更准确地重新渲染 PDF。对于这两个 UIView,我都使用大于屏幕的 CATiledLayer,以便在用户放大后更轻松地重新渲染 PDF(如果这有什么区别)。

有什么建议吗?我有点迷失在这里。

Basically what I want to do is copy the already rendered content (a PDF drawn into the UIView's graphics context using CGContextDrawPDFPage()) onto a similar UIView, without having to re render the PDF. The idea is, that I'd then be able to perform an animated transform on the UIView and later re render the PDF with more accuracy. For both UIViews I'm using a larger-than-screen CATiledLayer to make it easier to rerender the PDF once the user zooms in, if that makes any difference.

Any tips? I'm kind of lost here.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

归属感 2024-09-05 20:51:00

假设您使用类似于以下的代码在图形上下文中渲染了 PDF 页面

CGPDFDocumentRef document = CGPDFDocumentCreateWithURL (filename_url);
CGPDFPageRef page = CGPDFDocumentGetPage (document, pageNumber); 
CGContextDrawPDFPage (context, page); 
CGPDFDocumentRelease (document);

此代码会将 pdfView 的内容保存到 UIImage

UIGraphicsBeginImageContext(pdfView.bounds.size);
[pdfView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *pdfViewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

Assuming you have rendered a PDF page in a graphics context using code similar to the following

CGPDFDocumentRef document = CGPDFDocumentCreateWithURL (filename_url);
CGPDFPageRef page = CGPDFDocumentGetPage (document, pageNumber); 
CGContextDrawPDFPage (context, page); 
CGPDFDocumentRelease (document);

This code will save the contents of pdfView to a UIImage

UIGraphicsBeginImageContext(pdfView.bounds.size);
[pdfView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *pdfViewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文