Подтвердить что ты не робот

Неявное преобразование из типа перечисления 'enum CGImageAlphaInfo' в другой тип перечисления 'CGBitmapinfo' (aka) 'enum CGBitmapInfo')

Я преобразовываю старый проект iOS 5 в iOS6.0 на xCode5, и большинство предупреждений и ошибок исправлено, но для этого. любые предложения о том, как переписать код, чтобы избежать предупреждений об ошибках.

#define kBitsPerComponent 8
#define kBitmapInfo       kCGImageAlphaPremultipliedLast

 - (UIImage*)scaleToSize:(CGSize)size :(UIImage *)image
{
CGBitmapInfo bitmapInfo = kBitmapInfo;
size_t bytesPerRow = size.width * 4.0;
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
CGContextRef context = CGBitmapContextCreate(NULL, size.width,
                                             size.height, kBitsPerComponent,
                                             bytesPerRow, colorSpace, bitmapInfo);

CGRect rect = CGRectMake(0.0f, 0.0f, size.width, size.height);
CGContextDrawImage(context, rect, image.CGImage);

CGImageRef scaledImageRef = CGBitmapContextCreateImage(context);
UIImage* scaledImage = [UIImage imageWithCGImage:scaledImageRef];

CGImageRelease(scaledImageRef);
CGContextRelease(context);
CGColorSpaceRelease(colorSpace);

return scaledImage;
}

код дает предупреждение Неявное преобразование из типа перечисления 'enum CGImageAlphaInfo' в другой тип перечисления 'CGBitmapinfo' (aka) 'enum CGBitmapInfo')

будет очень благодарен, если кто-то может помочь в том, как изменить код.

4b9b3361

Ответ 1

Из документов:

Константы для указания информации о альфа-каналах объявляются с типом CGImageAlphaInfo, но могут быть безопасно переданы этому параметру.

Итак, вы можете просто использовать бросок для подавления предупреждения:

CGBitmapInfo bitmapInfo = (CGBitmapInfo) kBitmapInfo;