2013-01-02 5 views
5

대답을 게시 한 후 here 반환되는 이미지는 망막 디스플레이에 매우 열악한 품질입니다. 내 마스크 이미지에는 흰색 배경과 검은 색 내용이 있습니다. 어떤 도움을 주셔서 감사합니다.망막 품질의 2 UIImages의 마스킹

출력 : http://cl.ly/image/2A433N3t1h33 코드 :

CGRect rect = CGRectMake(0.0f, 0.0f, 61.0f, 53.0f); 
UIGraphicsBeginImageContextWithOptions(rect.size, NO, 2); 
CGContextRef context = UIGraphicsGetCurrentContext(); 

CGContextSetFillColorWithColor(context, [UIColor blueColor].CGColor); 
CGContextFillRect(context, rect); 

UIImage *imageGradient = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 

UIImage *toggleImage = [UIImage imageNamed:@"RotationToggle.png"]; 
UIImage *inputImage = imageGradient; 
CGImageRef maskRef = toggleImage.CGImage; 

CGImageRef mask = CGImageMaskCreate(CGImageGetWidth(maskRef), 
            CGImageGetHeight(maskRef), 
            CGImageGetBitsPerComponent(maskRef), 
            CGImageGetBitsPerPixel(maskRef), 
            CGImageGetBytesPerRow(maskRef), 
            CGImageGetDataProvider(maskRef), NULL, false); 

CGImageRef masked = CGImageCreateWithMask(imageGradient.CGImage, mask); 
CGImageRelease(mask); 

UIImage *maskedImage = [UIImage imageWithCGImage:masked scale:inputImage.scale orientation:0]; 
CGImageRelease(masked); 

답변

-1

나는 완전히 잘 모르겠지만,이 라인 변경 시도 : 이것에

UIImage *toggleImage = [UIImage imageNamed:@"RotationToggle.png"]; 

:

UIImage *toggleImage = [UIImage imageNamed:@"RotationToggle"]; 

또는이 순진를 :

UIImage *toggleImage = [UIImage imageNamed:@"[email protected]"]; 

문제는 다음과 같습니다. 이렇게하면 낮은 품질의 이미지를 사용하도록 강요한다고 생각합니다. 확장 기능을 건너 뛸 때, Xcode는 자동적으로 망막 이미지를 찾아서 할당합니다.

내가 틀릴 수도 있지만 미안합니다.