Qt — захват растрового изображения из виджета не требует правильного альфа-канала

В настоящее время я использую функцию QWidget :: grab () для получения растрового изображения QFrame (и всех его дочерних элементов), но, похоже, функция не учитывает, если виджет не имеет фона.

Видите ли, мой QFrame установлен на «setAutoFillBackground (false)», но когда захватывается его растровое изображение, кажется, что он покрасит светло-розоватый фон по умолчанию вместо полной прозрачности.

Замена растрового изображения изображением, содержащим альфа-канал, работает нормально.
Я использую эту ситуацию с QGL, поэтому растровое изображение отображается позже как текстура.

0

Решение

Я изменил фон палитры фрейма, чтобы он содержал 0 альфа. Это исправило программу.

Хотя я все еще считаю, что функция захвата должна принимать во внимание bool, который был установлен для заполнения фона или нет — поскольку не автозаполнение фона обычно приравнивается к тому же чистому визуальному эффекту, только не при захвате.

0

Другие решения


По вопросам рекламы ammmcru@yandex.ru
Adblock
detector