如何从UIImage获取URL

时间:2012-10-19 06:47:39

标签: iphone objective-c ios ios5 ios4

如何从UIImage获取网址?我有一个来自iPhone库的图像,我调整了它的大小,我不想保存新图像,但我想得到它的URL。

4 个答案:

答案 0 :(得分:9)

您说您不想保存它,但如果您需要UIImage的网址,则可以轻松保存临时副本以获取所需的网址。

// 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 { }

现在,您可以使用该网址将图片分享到社交媒体或您需要处理的任何内容。

有关详情,请参阅here

答案 1 :(得分:7)

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

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

答案 2 :(得分:4)

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

NSURL* imageURL = [info objectForKey:UIImagePickerControllerReferenceURL];

它看起来像这样:

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

您可以使用后者来引用回到您在回调中的UIImage*中获得的相同图像。

答案 3 :(得分:1)

你可以继承UIImage并创建一个覆盖initWithURL:将URL保存到创建的属性......就像这样。

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