본문 바로가기

개발도구/iOS - 아이폰 개발

[아이폰] UIImage : 웹 그림 표시

아래의 설명에 따라 작성해 보았습니다.

인터페이스 빌더에 userImageView을 IBOutlet 으로 설정후 아래와 같이 했습니다. 

 NSString *string1 = @"https://graph.facebook.com/";

        NSString *string2 = @"/picture";

        NSString *string3 = [string1 stringByAppendingString:self.feedPostId];

        NSString *string4 = [string3 stringByAppendingString:string2];

// 문자열 합치기

        

        // 이미지를 읽어올 주소

        NSURL *url = [NSURL URLWithString:string4];

        NSData *data = [NSData dataWithContentsOfURL:url];

        

        // 데이터가 정상적으로 읽혔는지 확인한다. 네트워크가 연결되지 않았다면 nil이다.

        if(data) {

            

            UIImage *image = [[UIImage alloc] initWithData:data];

            //UIImageView *view = [[UIImageView alloc] initWithImage:image];

            userImageView.image = image;

     

            //[view setFrame:CGRectMake(0.0f, 0.0f, 150, 150)];

            //[window addSubview:view];

            [userImageView release];

            

            


        }

        // 데이터를 정상적으로 읽어오지 못했을 경우의 처리

        else

        {

            UILabel *label = [[UILabel alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];

            

            [label setText:@"Fail..."];

            [label setTextAlignment:UITextAlignmentCenter];

          //  [window addSubview:label];

            [label release];

        }


[출처] 8-2. UIImage : 웹 그림 표시|작성자 오렌지  

http://blog.naver.com/PostList.nhn?blogId=enjoyaworld&categoryNo=52&from=postList


UIImage와 이미지 뷰(UIImageView)를 사용하면 웹에서 그림을 읽어와서 표시할 수 있습니다.

앱 안에 웹에서 읽어들인 그림을 표시하고 싶을 때 사용합니다.

UIImage를 이용하면 미리 「Supporting Files」폴더 안에 넣어 놓은 그림을 표시할 수도 있으며, URL을 지정해 웹에서 그림을 읽어올 수도 있습니다.

웹에 있는 그림을 UIImage에 읽어들여 이미지 뷰에 설정하면 그림을 표시할 수 있습니다.

 

 

 

 

① 이미지 뷰를 이용해 웹에 있는 그림을 표시하는 방법

주로 다음과 같은 순서로 프로그램을 작성합니다.

1) 인터페이스 빌더에서 이미지 뷰 배치

2) URL 오브젝트 생성

3) 파일 데이터 생성

4) 이미지 데이터 생성

5) 이미지 데이터를 이미지 뷰에 설정

 

URL 문자열 (NSString)

URL 오브젝트 (NSURL)

URL 파일 데이터 (NSData)

URL 이미지 데이터 (UIImage)

UIImageView.image

이미지 뷰 배치

 

 

 

② 인터페이스 빌더에서 이미지 뷰 배치

우선 인터페이스 빌더에서 이미지 뷰를 만듭니다.

「Object Library」에서 「Image View」를 「View」로 드래그해서 배치합니다.

프로그램에서 처리할 수 있게 헤더 파일(.h)에 이미지 뷰명을 만들고 「Image View」와 연결합니다.

 

 

 

③ URL 오브젝트 생성

URL을 나타내는 문자열을 사용하여 URL 오브젝트(NSURL)을 만듭니다.

NSURL *URL 오브젝트 = [NSURL URLWithString: URL 문자열];

 

URL을 나타내는 문다열을 사용하여 URL 오브젝트(NSURL)를 만듭니다.

NSURL *myURL = [NSURL URLWithString: @"http://www.ymori.com/itest/test.jpg"];

 

 

 

④ 파일 데이터 생성

지정한 URL 오브젝트에서 데이터를 읽어들여 이미지 파일의 데이터(NSData)를 만듭니다.

NSData *파일 데이터 = [NSData dataWithContentsOfURL: URL 오브젝트];

 

URL 오브젝트로부터 파일 데이터(NSData)를 만듭니다.

NSData *myData = [NSData dataWithContentsOfURL: myURL];

 

 

 

 

⑤ 이미지 데이터 생성

파일 데이터 상태로는 그림이 아니므로, 이 데이터를 이미지 데이터(UIImage)로 변환합니다.

UIImage *이미지 데이터 = [UIImage imageWithData: 파일 데이터];

 

파일 데이터로부터 이미지 데이터를 작성합니다.

UIImage *myImage = [UIImage imageWithData: myData];

 

 

 

 

⑥ 이미지 데이터를 이미지 뷰에 설정

작성한 이미지 데이터를 이미지 뷰에 설정하면 웹에 있는 그림이 표시됩니다.

이미지 뷰.image = 이미지 데이터;

 

이미지 데이터를 이미지 뷰에 설정합니다.

myImageView.image = myImage;