解决 CGBitmapContextCreate: unsupported parameter combination 错误
来源:互联网 发布:mac如何加密文件夹 编辑:程序博客网 时间:2024/06/08 17:21
苹果再一次调皮了。
- (void)drawRect:(CGRect)dirtyRect{ CGRect bounds = [self bounds]; CGContextRef context = UIGraphicsGetCurrentContext(); CGColorSpaceRef space = CGColorSpaceCreateDeviceRGB(); size_t bytesPerRow = 4 * roundf(bounds.size.width); context = CGBitmapContextCreate(NULL, roundf(bounds.size.width), roundf(bounds.size.height), 8, bytesPerRow, space, kCGBitmapAlphaInfoMask); // ...}
大概上面这样的代码,在更新到iOS7之前貌似没什么问题。现在提示
<Error>: CGBitmapContextCreate: unsupported parameter combination: 8 integer bits/component; 32 bits/pixel; 3-component color space; unrecognized; 864 bytes/row.
在网上找了很久资料,很多人是在crop图片时才会遇到这个问题。至于原因,bytesPerRow的计算方式不对,CGBitmapContextCreate的第二个参数float,bytesPerRow是整数,会有精度损失。也可以给bytesPerRow赋值0,让系统自己计算。
我遇到的这个问题,找了好久,终于看到一篇切中要害的帖子http://lists.apple.com/archives/carbon-dev/2007/Jun/msg00014.html。
原因是Color sapce和Bitmap info不匹配。解决方案挺简单的,把kCGBitmapAlphaInfoMask替换成kCGImageAlphaPremultipliedFirst。
- 解决 CGBitmapContextCreate: unsupported parameter combination 错误
- 解决 CGBitmapContextCreate: unsupported parameter combination 错误
- CGBitmapContextCreate unsupported parameter combination 问题详解及解决办法
- unsupported parameter combination 解决办法
- SDWebimag提示 GBitmapContextCreate: unsupported parameter combination: 8 integer bits/component; 40 错误
- 加载系统相册中图片错误CGBitmapContextCreate: unsupported color space.
- 解决 Unsupported major.minor version 错误
- 解决Unsupported major.minor version 51.0错误
- 解决Unsupported major.minor version 51.0错误
- 解决Unsupported major.minor version 51.0错误
- Unsupported major.minor version 51.0错误解决
- 解决Unsupported major.minor version 51.0错误
- 解决Unsupported major.minor version 51.0错误
- 解决Unsupported major.minor version 51.0错误
- Unsupported major.minor version 51.0错误解决
- 解决Unsupported major.minor version 52.0错误
- 【已解决】我遇到的 bad flag(parameter or structure field)(Unrecognized or unsupported array type)
- 修正CGBitmapContextCreate iOS8上的错误
- SetTimer的使用问题
- C#反射概念以及实例详解
- Linux之编程:Linux Shell编程概述
- 自动生成验证码
- 创建设备节点mknod
- 解决 CGBitmapContextCreate: unsupported parameter combination 错误
- 编程中公历闰年的简单计算方法
- 十字绣
- 泛型介绍(C# 编程指南) 例子好,实现单链表
- CentOS上yum安装JDK
- UML符号总结
- ibatis的一个demo
- 600路王柯故事多
- 阿牛的EOF牛肉串