UIImage 크기 조정 후 다시 시작 하기 App 그림 이상 표시

문제 설명
   App       ,          ,          UIImage   :

코드 원본:
http://www.cnblogs.com/robinkey/archive/2013/01/18/2770361.html

- (UIImage *)TelescopicImageToSize:(CGSize) size { UIGraphicsBeginImageContext(size); [self drawInRect:CGRectMake(0, 0, size.width, size.height)]; UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return newImage; }

첫 번 째 로 정상적으로 실행 되 었 습 니 다. 앨범 에 있 는 그림 을 80 * 80 크기 로 확대 하여 보 여 주 는 데 성 공 했 습 니 다. 그래서 로 컬 저장 작업 을 했 습 니 다. 그러나 제 가 두 번 째 프로그램 을 열 었 을 때 놀 라 운 것 은 그림 크기 가 40 * 40 이 되 었 다 는 것 을 알 게 되 었 습 니 다. 그 중에서 그림 의 크기 를 조작 하지 않 았 습 니 다.마지막 으로 한 편의 문장 을 보고 나 서 야 깨 우 침 을 얻 었 다.http://www.cnblogs.com/smileEvday/archive/2013/05/14/UIImage.html 그 중 한 마디 가 이렇게 말 했다.
      “             ?”

          image.size,      ,              (  )  image.size  image.scale

원래 저 는 image 의 scale 속성 을 무 시 했 습 니 다. 그림 이 축 소 된 후에 기본 scale 은 1.0 입 니 다. 몇 배의 화면 이 든 다음 에 로 컬 에서 UIImage 의 data 데 이 터 를 불 러 올 때 시스템 의 기본 scale 은 장치 의 scale 입 니 다. 그래서 원래 80 * 80 의 1 배 그림 이 었 습 니 다. 다음 에 불 러 올 때 scale 은 2.0 이 되 었 습 니 다. 그래서 그림 이 작 아 지 는 결과 가 나 왔 습 니 다. 다음은 제 가 미리 보기 그림 방법 을 수정 한 코드 입 니 다.
//          Image
- (UIImage *)TelescopicImageToSize:(CGSize)size image:(UIImage *)image

{

    UIGraphicsBeginImageContext(size);

    [image drawInRect:CGRectMake(0, 0, size.width, size.height)];
    //       
    UIImage *sizeImage = UIGraphicsGetImageFromCurrentImageContext();

    UIGraphicsEndImageContext();
    //    scale       scale
    UIImage * newImage = [[UIImage alloc] initWithCGImage:sizeImage.CGImage scale:[UIScreen mainScreen].scale orientation:UIImageOrientationUp];
    return newImage;

}

이렇게 하면 그림 이 작 아 지지 않 아 요.

좋은 웹페이지 즐겨찾기