it-swarm.com.ru

Как установить изображение в UIImage

Как я могу установить изображение на UIImage объект . Например:

UIImage *img = [[UIImage alloc] init];
[img setImage:[UIImage imageNamed:@"anyImageName"]];

Мой объект UIImage объявлен в файле .h и размещен в методе init, мне нужно установить изображение в методе viewDidLoad ... Есть идеи?

29
Shamsiddin
UIImage *img = [UIImage imageNamed:@"anyImageName"];

imageNamed:
Возвращает объект изображения, связанный с указанным именем файла.

    + (UIImage *)imageNamed:(NSString *)name

Параметры
название
Название файла. Если изображение загружается впервые, метод ищет изображение с указанным именем в основной пакет приложения.
Возвращаемое значение
Объект изображения для указанного файла или nil, если метод не может найти указанное изображение.

Обсуждение
Этот метод ищет в системных кэшах объект изображения с указанным именем и возвращает этот объект, если он существует. Если совпадает объекта изображения еще нет в кэше, этот метод загружает изображение данные из указанного файла, кэширует его, а затем возвращает результирующий объект.

53
vikingosegundo

Создайте UIImageView и добавьте к нему UIImage:

UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"image Name"]] ;

Затем добавьте его в свой вид: 

[self.view addSubView: imageView];
10
Shailesh

Просто следуй за этим

UIImageView *imgview = [[UIImageView alloc]initWithFrame:CGRectMake(10, 10, 300, 400)];
[imgview setImage:[UIImage imageNamed:@"YourImageName"]];
[imgview setContentMode:UIViewContentModeScaleAspectFit];
[self.view addSubview:imgview];
1
Dixit Akabari

В этой строке есть ошибка:

[img setImage:[UIImage [email protected]"anyImageName"]]; 

Так должно быть:

[img setImage:[UIImage imageNamed:@"anyImageName"]]; 
1
Jeremy1026
UIImage *img = [UIImage [email protected]"aImageName"];
1
Maulik

может быть:

UIImage *img = [[UIImage alloc] init];

и когда вы хотите изменить изображение:

img = [UIImage imageNamed:@"nameOfPng.png"];

но объект не был в том же месте в памяти, но если вы используете указатель, тот же самый указатель будет указывать на последнее загруженное изображение.

1
Vincent Saluzzo

Вы не можете выделить UIImage, это невозможно .... Правильный код с UIImageView allocate:

UIImageView *_image = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"something.png"]] ;

Нарисуйте изображение:

CGContextDrawImage(context, rect, _image.image.CGImage);
0
theWalker

Сначала объявите UIImageView и дайте ему кадр

UIImageView *imageView = [[UIImageView alloc] initWithFrame: CGRectMake( 10.0f, 15.0f, 40.0f,40.0f )];
        [imageView setBackgroundColor: [UIColor clearColor]];
        [imageView setImage:[UIImage imageNamed:@"comments_profile_image.png"]];
        [self.view addSubview: imageView];
0
Ankit Jain

Как сказал vikingosgundo, но имейте в виду, что если вы используете [UIImage imageNamed:image], то изображение кэшируется и уничтожает память. Поэтому, если вы не планируете использовать одно и то же изображение во многих местах, вы должны загрузить изображение, используя imageWithContentsOfFile: и imageWithData:

Это сэкономит вам значительную память и ускорит ваше приложение.

0
Trausti Thor

просто измени эту строку 

[img setImage:[UIImage imageNamed:@"anyImageName"]];

со следующей строкой

img = [UIImage imageNamed:@"anyImageName"];
0
BHASKAR

Попробуйте этот код на 100% работать ....

UIImageView * imageview = [[UIImageView alloc] initWithFrame:CGRectMake(20,100, 80, 80)];
imageview.image = [UIImage imageNamed:@"myimage.jpg"];
[self.view  addSubview:imageview];
0
P.J.Radadiya

Вы можете установить изображение в объекте EIImage следующим образом:

  1. UIImage *imageObject = [UIImage imageNamed:@"imageFileName"];, но при такой инициализации объекта UIImage изображение всегда сохраняется в кэш-памяти, даже если вы сделаете его nil наподобие imageObject=nil;

Лучше следовать этому:

  1. NSString *imageFilePath = [[NSBundle mainBundle] pathForResource:@"imageFilename" ofType:@"imageFile_Extension"];

    UIImage *imageObject = [UIImage imageWithContentsOfFile:imageFilePath];
    

ПРИМЕР: NSString *imageFilePath = [[NSBundle mainBundle] pathForResource:@"abc" ofType:@"png"];

UIImage *imageObject = [UIImage imageWithContentsOfFile:imageFilePath];
0
Satish Azad