Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/120.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在UIView上与UIImageView进行奇怪的alpha混合_Ios_Objective C_Uiview_Uiimageview_Uiimage - Fatal编程技术网

Ios 在UIView上与UIImageView进行奇怪的alpha混合

Ios 在UIView上与UIImageView进行奇怪的alpha混合,ios,objective-c,uiview,uiimageview,uiimage,Ios,Objective C,Uiview,Uiimageview,Uiimage,目前我正在开发一个简单的图像编辑器,你可以用画笔改变alpha通道 我的问题是,当alpha图像为0或接近零的UIImageView显示在另一个具有深色(如棕色、黑色等)的UIView上时,会出现奇怪的构图。图像变得可见,就像它的alpha从未改变一样。当后视图为白色时,一切正常 您可能想说“保持白色”,但我目前正在使用此UIView作为背景画布,用户可以更改颜色 我拍摄的照片是从《启示录》中拍摄的,但在设备上的外观也完全相同。以下是我所有这些谈话的意思: 这是一幅所有像素都设置了20%alph

目前我正在开发一个简单的图像编辑器,你可以用画笔改变alpha通道

我的问题是,当alpha图像为0或接近零的UIImageView显示在另一个具有深色(如棕色、黑色等)的UIView上时,会出现奇怪的构图。图像变得可见,就像它的alpha从未改变一样。当后视图为白色时,一切正常

您可能想说“保持白色”,但我目前正在使用此UIView作为背景画布,用户可以更改颜色

我拍摄的照片是从《启示录》中拍摄的,但在设备上的外观也完全相同。以下是我所有这些谈话的意思:

这是一幅所有像素都设置了20%alpha的图像。图像看起来不错。从显示中,我可以看到图像具有正确的alpha通道。一切都是应该的

这是相同的图像,在深蓝色背景上有15%的alpha(对不起,在拍摄时我更改了alpha)。从显示,一切又恢复正常

但当你看这个设备时,这就是你所看到的。这是相同的UIImage,所有像素都设置了15%的alpha,并显示在UIImageView中

图像完全显示在背景深蓝色UIView上,就像其alpha不是15%。在黑暗背景下工作时更改alpha不会产生太大影响。它只是简单地将整个图像添加为蓝色,或者100%alpha返回到原始图像。即使将所有像素的alpha设置为0,图像也清晰可见


有什么我遗漏的吗?为什么会出现这种组合(或两个UIView对象的混合)错误/错误/问题?是否有一个我忘记设置的值?或者这很正常,我做错了什么吗?

我也看到了这一点,也在寻找答案。真奇怪,嗯,我知道了!至少对我来说,问题是将0-255而不是0-1范围内的颜色传递给UIColor。所有组件必须除以255!否则,您会遇到类似这样的奇怪问题。很有意思的是,如果你想给所有的东西涂上颜色。