2013-10-13 3 views
2

ива обновленного моего проекта IOS 7 и теперь я получаю эту ошибку при изменении размера изображения, когда добавляется/пройдено в приложении вот мой коднеявного преобразования из типа перечисления «CGImageAlphaInfo»

-(UIImage *)resizeImage:(UIImage *)anImage width:(int)width height:(int)height 
{ 

CGImageRef imageRef = [anImage CGImage]; 

CGImageAlphaInfo alphaInfo = CGImageGetAlphaInfo(imageRef); 

if (alphaInfo == kCGImageAlphaNone) 
    alphaInfo = kCGImageAlphaNoneSkipLast; 


CGContextRef bitmap = CGBitmapContextCreate(NULL, width, height, CGImageGetBitsPerComponent(imageRef), 4 * width, CGImageGetColorSpace(imageRef), alphaInfo); 

CGContextDrawImage(bitmap, CGRectMake(0, 0, width, height), imageRef); 

CGImageRef ref = CGBitmapContextCreateImage(bitmap); 
UIImage *result = [UIImage imageWithCGImage:ref]; 

CGContextRelease(bitmap); 
CGImageRelease(ref); 

return result; 
} 

И.М. ошибки Геттингом это

неявное преобразование из типа перечисления 'CGImageAlphaInfo' (он же 'перечисление CGImageAlphaInfo') для различных типов перечисления 'CGBitmapInfo' (ака 'перечисление CGBitmapInfo')

a busy cat

+2

возможно дубликат [Как создать альфа только растровый контекст] (http://stackoverflow.com/questions/17245787/how-do-i-create-an-alpha -only-bitmap-context) – rmaddy

+0

Ссылка на эту ссылку http://stackoverflow.com/questions/18921703/implicit-conversion-from-enumeration-type-enum-cgimagealphainfo-to-different-e – Siva

ответ

1

Я вставил (CGBitmapInfo) перед вашей переменной alphaInfo. Надежда решает вашу проблему

-(UIImage *)resizeImage:(UIImage *)anImage width:(int)width height:(int)height 
{ 

CGImageRef imageRef = [anImage CGImage]; 

CGImageAlphaInfo alphaInfo = CGImageGetAlphaInfo(imageRef); 

if (alphaInfo == kCGImageAlphaNone) 
    alphaInfo = kCGImageAlphaNoneSkipLast; 


CGContextRef bitmap = CGBitmapContextCreate(NULL, width, height, CGImageGetBitsPerComponent(imageRef), 4 * width, CGImageGetColorSpace(imageRef), (CGBitmapInfo)alphaInfo); 

CGContextDrawImage(bitmap, CGRectMake(0, 0, width, height), imageRef); 

CGImageRef ref = CGBitmapContextCreateImage(bitmap); 
UIImage *result = [UIImage imageWithCGImage:ref]; 

CGContextRelease(bitmap); 
CGImageRelease(ref); 

return result; 
} 
Смежные вопросы

 Смежные вопросы