【发布时间】:2015-02-19 02:36:14
【问题描述】:
我有一个带有白色图标和标题的绿色按钮。我正在尝试使用我刚刚学习的 GPUImage 库将绿色更改为蓝色,但将白色保持为白色。这是我的代码:
UIImage *inputImage = [UIImage imageNamed:@"pause-button"];
GPUImageFalseColorFilter *colorSwapFilter = [[GPUImageFalseColorFilter alloc] init];
colorSwapFilter.firstColor = (GPUVector4){0.0f, 0.0f, 1.0f, 1.0f};
colorSwapFilter.secondColor = (GPUVector4){1.0f, 1.0f, 1.0f, 1.0f};
UIImage *filteredImage = [colorSwapFilter imageByFilteringImage:inputImage];
有2个问题:
- 生成的图像是淡紫色而不是蓝色。几乎就像蓝色被 50% 的不透明度或其他东西覆盖一样,原来的绿色被设置为白色。
- 按钮不是矩形(更像是椭圆形),PNG 的透明区域(角)现在填充了半透明的蓝色(嗯,实际上是淡紫色)。基本上,按钮现在是一个矩形,中间有一个较深的椭圆形。
我是否错误地使用了这个过滤器?在使用这个过滤器之前我需要做一些预处理吗?
【问题讨论】: