如何从UIImage获取网址?我有一个来自iPhone库的图像,我调整了它的大小,我不想保存新图像,但我想得到它的URL。
答案 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;
}