我在 iPad 上得到这样的图片 URL:
assets-library://asset/asset.JPG?id=00000000-0000-0000-0000-000000000BC4&ext=JPG
如何读取图片内容的二进制文件?
例如,使用 stringFromFileAtURL 打开文件会给我找不到路径。
谢谢。
我在 iPad 上得到这样的图片 URL:
assets-library://asset/asset.JPG?id=00000000-0000-0000-0000-000000000BC4&ext=JPG
如何读取图片内容的二进制文件?
例如,使用 stringFromFileAtURL 打开文件会给我找不到路径。
谢谢。
您不能随意从那里读取内容,因为它在您的应用程序的沙箱之外。
这不会像您希望的那样简单。首先,您必须获取实际的图像文件。这涉及获取一个 ALAsset 对象(你可以在这个问题中看到这个过程。然后,你得到那个资产defaultRepresentation
,然后你得到表示的fullResolutionImage
。然后你有一个 CGImageRef,你可以通过获取数据提供者CGImageGetDataProvider
,然后是像素的副本数据通过CGDataProviderCopyData
which is a CFDataRef
(您可以将其转换为NSData *
)。
你真的需要二进制文件吗?还是 UIImage 足够好?不确定你的意图。
不需要使用资产库,UIImage 是二进制表示。如果您只想将图像另存为文件,请使用
[UIImagePNGRepresentation(image) writeToFile:pngPath atomically:YES];