Iphone 如何从UIImage获取URL

Iphone 如何从UIImage获取URL,iphone,objective-c,ios,ios5,ios4,Iphone,Objective C,Ios,Ios5,Ios4,如何从UIImage获取URL?我从iPhone库中获取了一个图像,我调整了它的大小,我不想保存新图像,但我想获取它的URL。UIImage没有URL或文件信息。它只是表示像素颜色数据的字节集合。如果从UIImagePicker获取UIImage,则可以获取资源库中原始映像的URL。但是您必须在image picker委托方法中获取此URL,并且必须与UIImage对象分开跟踪它 编辑-根据OP的评论,这不是所请求的信息。您要查找的是信息字典中委托回调提供的UIImagePickerContro

如何从UIImage获取URL?我从iPhone库中获取了一个图像,我调整了它的大小,我不想保存新图像,但我想获取它的URL。

UIImage没有URL或文件信息。它只是表示像素颜色数据的字节集合。如果从UIImagePicker获取UIImage,则可以获取资源库中原始映像的URL。但是您必须在image picker委托方法中获取此URL,并且必须与UIImage对象分开跟踪它


编辑-根据OP的评论,这不是所请求的信息。

您要查找的是信息字典中委托回调提供的
UIImagePickerControllerReferenceURL
参数。您需要做的是:

NSURL* imageURL = [info objectForKey:UIImagePickerControllerReferenceURL];
看起来是这样的:

assets-library://asset/asset.JPG?id=SOME_GUUID&ext=JPG

您可以使用后一种方法来引用回调中
UIImage*
中得到的相同图像

您可以将UIImage子类化并创建重写initWithURL:以将URL保存到已创建的属性。。。像这样的

+ (id) initWithURL:(NSURL*)url
{
    [super initWithURL:url];
    self.url = url;
}

你说你不想保存它,但是如果你需要一个
UIImage
的URL,你可以很容易地保存一个临时副本来获得你需要的URL

// Create a URL in the /tmp directory
guard let imageURL = NSURL(fileURLWithPath: NSTemporaryDirectory()).appendingPathComponent("TempImage.png") else {
    return
}

// save image to URL
do {
    try UIImagePNGRepresentation(myImage)?.write(to: imageURL)
} catch { }
现在,您可以使用URL将图像共享到社交媒体或任何您需要使用的内容


有关更多信息,请参阅。

您可能需要对所需内容进行一些扩展,您是否要求为图像提供新路径、旧路径或其他内容。唯一可能与UIImage关联的URL是一个文件系统URL,它指向它在磁盘上的位置。因此,如果我想获取该URL,那么我必须将其保存在某个位置,然后才能获取该URL?你的问题仍然很模糊。您指的是已编辑或调整大小的图像的URL。如果您只是使用UIImage执行此操作,则没有指向此新映像的URL。内存中只有一个映像。可以在内存中创建UIImage。在这种情况下,没有文件也没有URL。如果你的UIImage来自加载文件,那么你需要在加载图像时获取文件的URL。但是你仍然可以告诉我获取内存中图像的URL的替代解决方案吗?你刚才说你明白我的意思。内存中的UIImage对象没有URL。没有可获取的URL。我不知道还能怎么说。UIImage没有URL,除非它已保存到文件中。