从URL中提取图像

时间:2012-08-29 14:22:25

标签: objective-c ios url uiimage nsdata

网址是:

https://api.url2png.com/v3/P4DE5D1C99D8EF/7bbb6e0d1b74fb0ae1d4f18b06320096/400x400/abc.com

我希望将图像放到UIImage上面。我试过这个:

NSURL *urlString = [NSURL URLWithString:@"https://api.url2png.com/v3/P4DE5D1C99D8EF/7bbb6e0d1b74fb0ae1d4f18b06320096/400x400/abc.com"];

NSData *imageData = [[NSData alloc]initWithContentsOfURL:urlString];
UIImage *img = [UIImage imageWithData:imageData];

但似乎这不起作用。该网址没有.png.jpg等文件扩展名。是否可以从这种URL中提取图像?

1 个答案:

答案 0 :(得分:4)

你很接近,你想要做的是UIImagePNGRepresentation对于这个特定的图像(因为你链接的图像实际上是.png)来基本上转换数据一个可行的形象。如果您尝试使用.jpg图片,请使用UIImageJPEGRepresentation

NSURL *urlString = [NSURL URLWithString:@"https://api.url2png.com/v3/P4DE5D1C99D8EF/7bbb6e0d1b74fb0ae1d4f18b06320096/400x400/abc.com"];
NSData *imageData = [NSData dataWithData:UIImagePNGRepresentation([UIImage imageWithData:[NSData dataWithContentsOfURL:urlString]])];
UIImage *image = [UIImage imageWithData:imageData];

或者,如果你像我一样成为单行人的粉丝,你可以使用它:

UIImage *image = [UIImage imageWithData:UIImagePNGRepresentation([UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"https://api.url2png.com/v3/P4DE5D1C99D8EF/7bbb6e0d1b74fb0ae1d4f18b06320096/400x400/abc.com"]]])];