0

我有一个NSImagefrom NSImage *myImage = [[NSBitmapImageRep alloc] initWithFocusedViewRect:[outputView bounds]];,我需要将它保存到一个文件中。我还没有找到任何关于NSImage以任何格式保存的信息。有人做过吗?甚至可能吗?

谢谢

4

3 回答 3

2

你说你制作 NSImage 的方式没有意义。您将展示如何创建 NSBitmapImageRep,而不是 NSImage。

在将其保存到文件之前,先将其转换为 NSData。有一个 NSImage 方法可以转换为 TIFF 数据,还有一个 NSBitmapImageRep 方法可以转换为几种格式的数据。

于 2010-07-31T02:30:58.177 回答
1

拥有一个 NSBitmapImageRep(正如 JWWalker 指出的那样,该代码不会创建 NSImage 实例),您可以向图像代表索取其自身的 CGImage 版本,然后创建一个 CGImageDestination 将该图像写入文件。这可能比获取数据对象(将栅格数据保存在内存中)更有效,并提供更多选项。

于 2010-07-31T02:51:17.450 回答
1

如果您正在创建实际视图的快照(而不是您已锁定焦点的图像),那么创建位图图像代表的替代方法是向视图询问所需矩形的 PDF 数据。这将是矢量而不是光栅(视图本身绘制图像的地方除外),它将更好地缩放到更高的分辨率。然后,您将该数据写入文件,就像您写入任何其他数据一样。

于 2010-07-31T02:55:44.900 回答