0

我在 iPad 上得到这样的图片 URL:

assets-library://asset/asset.JPG?id=00000000-0000-0000-0000-000000000BC4&ext=JPG

如何读取图片内容的二进制文件?
例如,使用 stringFromFileAtURL 打开文件会给我找不到路径。

谢谢。

4

2 回答 2

2

您不能随意从那里读取内容,因为它在您的应用程序的沙箱之外。

这不会像您希望的那样简单。首先,您必须获取实际的图像文件。这涉及获取一个 ALAsset 对象(你可以在这个问题中看到这个过程。然后,你得到那个资产defaultRepresentation,然后你得到表示的fullResolutionImage。然后你有一个 CGImageRef,你可以通过获取数据提供者CGImageGetDataProvider,然后是像素的副本数据通过CGDataProviderCopyDatawhich is a CFDataRef(您可以将其转换为NSData *)。

你真的需要二进制文件吗?还是 UIImage 足够好?不确定你的意图。

于 2012-07-29T02:34:38.430 回答
0

不需要使用资产库,UIImage 是二进制表示。如果您只想将图像另存为文件,请使用

[UIImagePNGRepresentation(image) writeToFile:pngPath atomically:YES];

于 2012-07-29T11:39:34.770 回答