1

网址是:

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];

但这似乎行不通。该 url 没有文件扩展名,如.pngor .jpg。是否可以从这种 URL 中提取图像?

4

1 回答 1

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"]]])];
于 2012-08-29T14:36:09.203 回答