【问题标题】:Implicit conversion from enumeration type 'CGImageAlphaInfo'从枚举类型 'CGImageAlphaInfo' 的隐式转换
【发布时间】:2013-10-13 14:23:18
【问题描述】:

我已将我的项目更新到 IOS 7,现在我在调整图像大小时遇到​​此错误,一旦在应用程序中添加/拍摄,这是我的代码

-(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'(又名'enum CGImageAlphaInfo')到不同枚举类型'CGBitmapInfo'(又名'enum CGBitmapInfo')的隐式转换

【问题讨论】:

标签: xcode resize uiimage ios7


【解决方案1】:

我在您的变量 alphaInfo 之前插入了 (CGBitmapInfo)。 希望能解决你的问题

-(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;  
}

【讨论】:

    猜你喜欢
    • 2013-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多