Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программирование iOS/iPhone

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.88
o1eg_bitrix
0 / 0 / 0
Регистрация: 23.10.2012
Сообщений: 11
#1

Загрузить картинку по URL - Программирование iOS

06.11.2012, 07:34. Просмотров 2198. Ответов 4
Метки нет (Все метки)

Использовал следующие методы и все тщетно :

Objective-C
1
2
3
4
5
6
7
8
- (NSImage *)getImageURL:(NSString *)urlString {
NSURL *imageURL = [NSURL URLWithString:urlString];
NSImage *imageFromBundle = [[NSImage alloc] initWithContentsOfURL:imageURL];
return imageFromBundle;
}
 
NSImageView *imageView;
[imageView setImage:[self getImageURL:@"www.google.ru/logo.jpg"]];
Objective-C
1
2
3
NSString* imageURL = [NSString stringWithFormat: @"http://theimageurl.com/?id=%@", [[resultsEntries objectAtIndex:0] objectForKey: @"image_large"]];
NSData* imageData = [[NSData alloc]initWithContentsOfURL:[NSURL URLWithString:imageURL]];   
UIImage* image = [[UIImage alloc] initWithData:imageData];
Прописываю код в DetailViewController.m

Не одна из конструкций не проходит синтаксический контроль.

Подскажите наиболее безболезненный и быстрый путь, что бы прочитать картинку и вывести ее в ячейку cell.image!?

локальные картинки из проекта читаются и выводятся без проблем.

Спасибо...
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.11.2012, 07:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Загрузить картинку по URL (Программирование iOS):

Загрузить картинку .gif в Image, зная ее URL - Delphi
Что делать с gif - вообще никаких идей. Подскажите, кто знает. А с PNG пытаюсь так: var F:TFileStream; begin ...

Кликая по label с емайлом, нужно открыть почтовый клиент, или загрузить url, если label содержит url - Java
Кликая по label с емайлом, нужно открыть почтовый клиент, или загрузить url, если label содержит url

Невозможно загрузить указанный URL - PHP
Помогите решить вопрос "Невозможно загрузить указанный URL"

Невозможно загрузить указанный url - HTML, CSS
Не могу понять, почему файрбаг выводит сообщение "невозможно загрузить указанный url. Загружаю картинку <div class="poisk"> <img...

Загрузить картинку - C++ Qt
Здравствуйте, помогите пожалуйста загрузить картинку с помощью addPixMap(). Имеется class MainWindow : public QMainWindow { ...

Загрузить картинку в БД - .NET
Как сделать это програмно ? Есть база данных Access, есть таблица и в ней поле типа Ole. Как в нее загрузить картинку.

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
zulkis
682 / 609 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
06.11.2012, 08:09 #2
o1eg_bitrix, забудьте о подгрузке картинок и каких либо других данных синхронно.
Простой способ для Вас - скачать себе AFNetworking с github'a, и воспользоваться категорями для асинхронной загрузки картинок и последующим засетчиванием их в UIImageView.
1
o1eg_bitrix
0 / 0 / 0
Регистрация: 23.10.2012
Сообщений: 11
06.11.2012, 08:40  [ТС] #3
Я объект "UIImageView" не использую на сцене или это критично!?
Мне нужно именно в ячейки таблицы вывести или высоту ячейки я не смогу поменять в зависимости от размеров картинки!?
0
zulkis
682 / 609 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
06.11.2012, 08:57 #4
Ааа, я не посмотрел. Мак...
Ну тогда нужно смотреть что не так в коде. Но все равно, синхронные закачки - зло.
1
Max Patsy
курлык-курлык
85 / 94 / 3
Регистрация: 26.11.2009
Сообщений: 396
Записей в блоге: 1
06.11.2012, 10:21 #5
Вот скачка картинки, но она загружется на девайс и отображается в ImageView

*.m
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#import "ViewController.h"
 
@interface ViewController ()
 
@end
 
@implementation ViewController
@synthesize img;
 
- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
}
 
- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}
 
- (IBAction)onDownload:(id)sender {
    //Definitions
    NSString * documentsDirectoryPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
    
    //Get Image From URL
    UIImage * imageFromURL = [self getImageFromURL:@"http://inventos.ru/wp-content/uploads/2012/09/%D0%BB%D0%BE%D0%B3%D0%BE_180%D1%85180_2.jpg"];
    
    //Save Image to Directory
    [self saveImage:imageFromURL withFileName:@"My Image" ofType:@"png" inDirectory:documentsDirectoryPath];
 
 
    
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    
    if ([paths count] > 0)
        NSLog(@"Documents directory: %@", [paths objectAtIndex:0] );
}
 
-(UIImage *) getImageFromURL:(NSString *)fileURL {
    UIImage * result;
    
    NSData * data = [NSData dataWithContentsOfURL:[NSURL URLWithString:fileURL]];
    result = [UIImage imageWithData:data];
    
    return result;
}
 
-(void) saveImage:(UIImage *)image withFileName:(NSString *)imageName ofType:(NSString *)extension inDirectory:(NSString *)directoryPath {
    if ([[extension lowercaseString] isEqualToString:@"png"]) {
        [UIImagePNGRepresentation(image) writeToFile:[directoryPath stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.%@", imageName, @"png"]] options:NSAtomicWrite error:nil];
    } else if ([[extension lowercaseString] isEqualToString:@"jpg"] || [[extension lowercaseString] isEqualToString:@"jpeg"]) {
        [UIImageJPEGRepresentation(image, 1.0) writeToFile:[directoryPath stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.%@", imageName, @"jpg"]] options:NSAtomicWrite error:nil];
    } else {
        NSLog(@"Image Save Failed\nExtension: (%@) is not recognized, use (PNG/JPG)", extension);
    }
}
 
-(UIImage *) loadImage:(NSString *)fileName ofType:(NSString *)extension inDirectory:(NSString *)directoryPath {
    UIImage * result = [UIImage imageWithContentsOfFile:[NSString stringWithFormat:@"%@/%@.%@", directoryPath, fileName, extension]];
    
    return result;
}
- (IBAction)onLoadToView:(id)sender {
    NSString * documentsDirectoryPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
    UIImage *imageFromWeb = [self loadImage:@"My Image" ofType:@"png" inDirectory:documentsDirectoryPath];
    [img setImage:imageFromWeb];
}
@end

*.h
Objective-C
1
2
3
4
5
6
7
8
#import <UIKit/UIKit.h>
 
@interface ViewController : UIViewController
- (IBAction)onDownload:(id)sender;
@property (weak, nonatomic) IBOutlet UIImageView *img;
- (IBAction)onLoadToView:(id)sender;
 
@end
Интерфейс состоит из текстового поля, которое я впрочем не использую и двух кнопок - загрузки картикни и ее отображения
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.11.2012, 10:21
Привет! Вот еще темы с ответами:

Загрузить картинку - C++ Builder
Hello guys =) Пишу локальный сервер, использую IdHTTPServer1, на IdHTTPServer1CommandGet написан код: ...

Загрузить картинку в БД - SQL Server
Как загрузить картинку в бд? Точнее как прописать ее в insert, к примеру,просто 123.jpg не получается и полностью путь прописать не...

Загрузить картинку в PictureBox - C#
ребят у меня в папке с проектом есть несколько фоток вот мне надо найти эти фотки и перевести в байты переводить то я умею а вот как ...

Не получается загрузить картинку - Java
Доброго времени суток. У меня возникла ещё одна вероятно глупая ошибка, но я никак не могу её исправить, подскажите пожалуйста как быть....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
06.11.2012, 10:21
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru