将图像从屏幕保存到我的资产?

时间:2012-09-26 13:23:58

标签: objective-c

这可能很难,但是 我必须保存屏幕上某些时刻出现的文件。 但不只是一个文件,我需要将其保存到我的资产文件夹: 我的目标是我以后可以使用没有的图像:

dirPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
docsDir = [dirPaths objectAtIndex:0];

但只是使用它就像我的资产一样,只是使用:@"myImage.png",当myImage是我已经从我的打印屏幕保存的图像时

关于如何做到这一点的任何方向? 谢谢。

3 个答案:

答案 0 :(得分:1)

您应用的主要捆绑包是该应用的一部分,并且是只读的。您无法在设备上添加或删除内容。您必须将该图像保存到应用程序沙箱中的某个目录,例如DocumentsLibrary/Caches

而不是+[UIImage imagedNamed:],或许+[UIImage imageWithContentsOfFile:]对您有用吗?

答案 1 :(得分:1)

如果我理解正确的话,你所说的是你想在图像中保存一部分图形(这很容易),并希望稍后从你的应用程序包中检索(我认为你的意思是而不是术语资产)。这是不可能的,因为应用程序包在运行时是只读的。

答案 2 :(得分:1)

AFAIK,您无法将其保存到应用包中。 我建议你编写自己的方法来加载像[UIImage imageNamedCustom:...]这样的图像。 如果这个方法首先搜索资产中的图像,如果没有找到尝试从文档或缓存加载,那将是很好的。此外,它可以缓存保存图像的路径。之后,您可以将所有出现的“[UIImage imageNamed:”替换为“[UIImage imageNamedCustom:”和其他类似的方法。