Objective c 从URL提取图像

Objective c 从URL提取图像,objective-c,ios,url,uiimage,nsdata,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/ab

网址是:

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没有类似于
.png
.jpg
的文件扩展名。是否可以从这种URL中提取图像?

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

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

您已经接近了,您要做的是在这个特定图像的情况下(因为您链接的图像实际上是
.png
),将数据基本上转换为一个可行的图像。如果您试图使用
.jpg
图像,请使用
uiimagejpegresentation

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