OBS 透明图 透明区域边框偏黑问题

 

OBS 添加透明图时,比如添加圆角矩形区域透明的图时,透明区域边框会呈现偏黑色线条。

如下所示:

OBS 透明图 透明区域边框偏黑问题

 

经排查,找到了原因:

               图片区域透明使用的原理是将图片某矩形区域统一置黑色,再指定黑色为透明色,绘制到目的图片中,这样在目的图片中,矩形部分就成为了透明区域,此透明区域的实际像素值很可能为(0,0,0,0)。

               OBS渲染使用的OPENGL (d3d)图形处理, 其中某些算法是根据图片的像素值 做一些算法处理,这样,当透明区域像素值和边框像素值反差较大时,会影响边框像素的颜色值,造成边框像素颜色可能会成为偏黑色。

      解决方案: 

                自定义图片区域透明算法,修改指定区域内每个像素点的像素值,使其 RGB三色保持不变,只修改透明度,尽量减少透明区域和周边区域的像素反差,降低因反差造成的透明区域外偏黑色边框问题。