通常情况相反,您使用路径显示图像。我想知道如果你已有图像,是否可以获得路径。
答案 0 :(得分:21)
如果您已经有图像,即已将文件添加到资源,则可以使用此文件获取文件路径;
NSString *string = [[NSBundle mainBundle] pathForResource:@"IMAGE_FILE_NAME" ofType:@"jpg"]; // or ofType:@"png", etc.
答案 1 :(得分:12)
我认为不可能直接从UIImage获取它。
最好的方法是将图像保存在目录中,然后您将拥有文件路径。
//image is your UIImage;
if (image != nil)
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString* path = [documentsDirectory stringByAppendingPathComponent:
@"test.png" ];
NSData* data = UIImagePNGRepresentation(image);
[data writeToFile:path atomically:YES];
}
path
将成为您的文件路径。
答案 2 :(得分:8)
创建UIImage后,图像数据将加载到内存中,不再连接到磁盘上的文件。因此,可以删除或修改文件而不会影响UIImage,也无法从UIImage获取源路径。