1

我尝试获取图像位置,但它没有在 UIImageView 中显示,用于获取的代码是,

在 class.h 文件中,

@property (strong, nonatomic) IBOutlet UIImageView *imageview;

class.m 文件,

NSString *imagee;

imagee = [result objectForKey:@"image"];
NSLog(@"image is %@ \n",imagee);

'imagee' 字符串可以返回图像的确切 url。

图像显示的代码是,

UIImage *imagevieww = [UIImage imageNamed:[result objectForKey:@"image"]];
imageview.image = imagevieww;

但最后我可以得到应该放置图像的空白空间。

4

7 回答 7

2

找到了我的问题的答案,感谢所有帮助我找到这个答案的人。

更新:在 urlstring 中包含“http”,以便它可以从 web 服务中获取正确的图像。

 NSString *urlString = [NSString stringWithFormat:@"http://%@",[result objectForKey:@"image"]];
    NSLog(@"url image is %@ \n",urlString);

    NSData *imageData = [[NSData alloc] init];

   imageData = [NSData dataWithContentsOfURL:[NSURL URLWithString:urlString]];

    NSLog(@"image data is %@",imageData);

    imageview.image = [UIImage imageWithData:imageData];
于 2013-09-19T07:32:37.963 回答
1

UIImage方法imageNamed:用于加载本地存在的图像。在您的情况下,您需要从 URL 下载图像。根据需求,有多种方法可以做到这一点。

最简单的是,

//URL encode the string
NSString *url = [[result objectForKey:@"image"] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSData *imageData = [NSData dataWithContentsOfURL:[NSURL URLWithString:url]];
imageview.image = [UIImage imageWithData:imageData];

这将在主线程上同步下载图像(如果从主线程调用)。您想在后台线程上异步执行此操作。通常dispatch_async(GCD)用于执行此操作。

希望有帮助!

于 2013-09-17T09:39:37.790 回答
0

如果 'imagee' 返回了准确的 url ,那么从 web 服务获取图像应该是这样的。

imageview.image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:[result objectForKey:@"image"]]]];
于 2013-09-17T09:40:50.483 回答
0

我做了以下事情,它对我有用。

NSURL *url = [NSURL URLWithString:@"http://www.yourdomain.com/imagename.png"];
NSData *myData = [NSData dataWithContentsOfURL:url];
UIImage *image = [[UIImage alloc] initWithData:myData];
["%storyboardImageName%" setImage:image];

请注意,storyboardImagename 是您放在 xib 或故事板上的变量。您将需要更改它。还要注意实际上将它联系在一起的“setImage”属性。

希望这可以帮助。

于 2014-08-29T21:40:19.400 回答
0

尝试这个

NSString *imageString = [NSString stringWithFormat:@"data:image/jpg;base64,%@",[yourDict objectForKey:@"ImageString"]];
NSData *imageData = [NSData dataWithContentsOfURL:[NSURL URLWithString:imageString]];
UIImage *image = [UIImage imageWithData:imageData];
于 2013-09-17T11:31:35.857 回答
0

。H

@property (strong, nonatomic) IBOutlet UIImageView *imageView;

.m

从 Web 服务获取图像:

NSURL *url = [NSURL URLWithString:@"http://www.site.com/image.jpg"];
NSData *myImageData = [NSData dataWithContentsOfURL:url];        
UIImage *image = [[UIImage alloc] initWithData:myImageData];

将图像设置为 ImageView:

imageView.image = image;
于 2013-09-17T11:33:30.693 回答
-1

转换URLUIImage,

尝试这个:

NSURL *url = [NSURL URLWithString:@"http://yoursite.com/imageName.png/jpg"];

NSData *myData = [NSData dataWithContentsOfURL:url];

UIImage *image = [[[UIImage alloc] initWithData:myData] autorelease];

在 imageview 上使用此图像。如果您遇到问题,请尝试在后台下载图像。 按照这个链接

于 2013-09-17T09:39:03.800 回答