2014-04-29 2 views
1

그래서이 함수는 UIImages의 비늘을 가지고 있으며 이미지로 UIImageView을 초기화하는 데 사용하고 있습니다. 내 문제는 이미지가 표시 될 때 이미지가 배경에서 완전한 투명도를 가진 .png 임에도 불구하고 항상 주위에 검정색 사각형이 있다는 것입니다. 여기 IOS UIImageView가 검은 색 배경으로 표시됩니다.

는 스케일링 방법뿐만 아니라 UIImageView의 초기화이다 :

- (UIImage *)imageWithImage:(UIImage *)image scaledToSize:(CGSize)newSize { 
if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)]) { 
    if ([[UIScreen mainScreen] scale] == 2.0) { 
     UIGraphicsBeginImageContextWithOptions(newSize, YES, 2.0); 
    } else { 
     UIGraphicsBeginImageContext(newSize); 
    } 
} else { 
    UIGraphicsBeginImageContext(newSize); 
} 
[image drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)]; 
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 
return newImage; 
} 

- (void)addMass:(Mass *)mass{ 
UIImageView *image = [[UIImageView alloc]initWithImage:[self imageWithImage:[UIImage imageNamed:@"circle.png"] scaledToSize:CGSizeMake(mass.mass, mass.mass)]]; 
[image setBackgroundColor:[[UIColor alloc]initWithRed:0 green:0 blue:0 alpha:1]]; 
image.center = [mass position]; 
[image setBackgroundColor:[UIColor clearColor]]; 
[massImages addObject:image]; 
[self.view addSubview:image]; 
} 

내가 지우려면 UIImageView의 배경색을 시도하고 설정하는 [image setBackgroundColor:[UIColor clearColor]];을 사용했지만,이 수행 볼 수 있듯이 작동하지 않는 것 같습니다.

+0

massImages의 선언을 표시 할 수 있습니까? – Rushi

답변

4

당신이해야 할 모든

UIGraphicsBeginImageContextWithOptions(newSize, NO, 0); 

하고 배율 인수가 자동으로 설정되며, 결과 이미지의 손길이 닿지 않은 픽셀은 투명하게됩니다.

관련 문제