0
我有一个白色的图标和标题的绿色按钮。我正在尝试使用我刚刚了解的将绿色更改为蓝色的GPUImage库,但将白色保留为白色。这里是我的代码:GPUImage GPUImageFalseColorFilter给出错误的颜色和着色透明区域
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的透明区域(角落)现在用半透明蓝色(实际上是浅紫色)填充。基本上这个按钮现在是一个椭圆形的中间长方形。
我是否错误地使用了此过滤器?在使用此过滤器之前,我必须做一些预处理吗?