Использование Xlib, я создаю 32 бит на пиксел, а также окно 32 БПП объект XImage.32bit XImage, XPutImage и альфа-смешивание
Сначала я рисую непрозрачный прямоугольник на окне, чтобы стереть фон.
Затем я попытаюсь нарисовать созданный полупрозрачный XImage на окне.
В этих операциях я могу использовать только функцию GXCopy графического контекста, потому что все другие функции ведут себя не очень хорошо с альфа-каналом.
Но, рисуя XImage, он не смешивается с фоном, а просто заменяет его (GXCopy) таким образом, создавая прозрачные отверстия в окне.
Вопрос
Есть ли способ, чтобы сделать сервер X правильно смешивать полупрозрачные изображения? (Возможно, какая-то функция называется GXBlend?)
P.S. Я знаю расширения XRender, но предпочитаю использовать XLib, если это возможно.
Хм, но мне не нужны прозрачные окна, мне нужно только прозрачные изображения в моем окне. Затем я могу просто нарисовать содержимое всего окна на стороне клиента и только XPutImage на сервере. Считаете ли вы, что это тоже будет медленным? – johnfound
Вы спрашивали о компоновке на стороне сервера, и ответ «не с ядром x11». Да, вы можете сделать это на стороне клиента и получить результат XPutImage –
Действительно, я спросил о компоновке на стороне сервера. Комментарии - это просто комментарии ...;) – johnfound