【发布时间】:2014-03-15 05:26:42
【问题描述】:
我有一个自定义的 NSView,它在我的应用程序中绘制图表。我正在生成一个包含图像的 PDF。在 iOS 中,我使用如下代码执行此操作:
UIGraphicsBeginImageContextWithOptions(self.frame.size, NO, 0.0);
[self drawRect:self.frame];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
在 iOS 中,显示器是视网膜,这意味着图像的分辨率非常高,但是,我现在正尝试在我的 Mac 应用程序中执行此操作,并且图像质量很差,因为非视网膜 Mac 会生成非- 图片的高分辨率版本。
当我使用它来生成图像时,我想强制我的 NSView 表现得好像它是视网膜一样。这样,当我将图像放入我的 PDF 时,它的分辨率会更高。现在,它非常模糊,没有吸引力。
【问题讨论】:
-
在 OS X 中如何操作的代码在哪里?
-
如果没有更多关于生成 PDF 的上下文(导出 PDF 是程序的最终用户功能,还是只是为文档制作屏幕截图?),我不知道这个提示是否有用,但请查看 HiDPI 模式:stackoverflow.com/questions/12124576/…
-
这是一个最终用户功能。我的应用程序会根据输入生成一些信息,并且可以以 PDF 格式导出所有信息,以便他们可以保留/保存/通过电子邮件发送/等等。
标签: ios macos nsview nsimage retina