我正在使用sws_scale将图像和视频从每种格式转换为RGBA,使用如下创建的SWSContext:
auto context = sws_getContext(width, height, pix_fmt, width, height, AV_PIX_FMT_RGBA,
SWS_BICUBIC, nullptr, nullptr, nullptr);但是当使用带有颜色类型调色板(pix_fmt = AV_PIX_FMT_PAL8)的PNG时,sws_scale似乎没有考虑到透明色,并且生成的RGBA光栅不是透明的。这是sws_scale的一个错误,还是我对结果做了一些假设?
调色板图像:https://drive.google.com/file/d/1CIPkYeHElNSsH2TAGMmr0kfHxOkYiZTK/view?usp=sharing
RGBA图片:https://drive.google.com/open?id=1GMlC7RxJGLy9lpyKLg2RWfup1nJh-JFc
发布于 2020-05-18 22:02:55
我做了一个错误的假设- sws_scale不承诺返回一个预乘的alpha颜色,所以我得到的值是r:255,g:255,b:255,a:0。
https://stackoverflow.com/questions/61871365
复制相似问题