如何从 UIImage 获取 URL?我从 iPhone 库中获得了一张图片,我调整了它的大小,我不想保存新图片,但我想获取它的 URL。
问问题
16241 次
4 回答
12
您说您不想保存它,但如果您需要 a 的 URL UIImage
,您可以轻松保存临时副本以获取所需的 URL。
对于较新的 swift 5:
// Create a URL in the /tmp directory
guard let imageURL = NSURL(fileURLWithPath: NSTemporaryDirectory()).appendingPathComponent("TempImage.png") else {
return
}
let pngData = image.pngData();
do {
try pngData?.write(to: imageURL);
} catch { }
现在,您可以使用 URL 将图像分享到社交媒体或您需要对其进行的任何操作。
对于以前的 Swift 版本:
// 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 { }
请参阅此处了解更多信息。
于 2016-02-06T12:10:07.983 回答
9
UIImage 没有 URL 或文件信息。它只是表示像素颜色数据的字节集合。如果您从 UIImagePicker 获取 UIImage,那么您可以获取资源库中原始图像的 URL。但是您必须在图像选择器委托方法中获取此 URL,并且必须与 UIImage 对象分开跟踪它。
编辑 - 根据 OP 的评论,这不是所要求的信息。
于 2012-10-19T06:55:02.750 回答
4
您正在寻找的是UIImagePickerControllerReferenceURL
信息字典中委托回调提供的参数。你需要做的是:
NSURL* imageURL = [info objectForKey:UIImagePickerControllerReferenceURL];
它看起来像这样:
assets-library://asset/asset.JPG?id=SOME_GUUID&ext=JPG
您可以使用后者来引用您在UIImage*
回调中获得的相同图像。
于 2013-08-31T16:30:43.377 回答
2
您可以将 UIImage 子类化并创建一个覆盖 initWithURL: 以将 URL 保存到创建的属性......类似这样的东西。
+ (id) initWithURL:(NSURL*)url
{
[super initWithURL:url];
self.url = url;
}
于 2015-10-14T23:39:52.390 回答