| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Imlib+Mplayer |
| Автор: JekaZZ 6.2.2009, 21:20 |
| Есть мультимедийная программа под Linux, использует SDL, Imlib, MPlayer, Xine. Графику выводит через иксы. Так вот стояло это и работало на slackware-11.0: - kernel 2.6.14 - x11-6.9.0 - imlib-1.9.14 - SDL-1.2.9 Программа воспроизводит видео с помощью Mplayer и поверх его изображения отображет png картинку. Картинка имеет форму, то есть у нее прозрачный фон, она не прямоугольная. Возникла необходимость перевести программу на новый дистрибутив - Slackware 12.1: - kernel 2.6.28.3 - imlib-1.6.15 - X.org 7.4 - SDL-1.2.9 Программу пересобрал в новой системе. Перестало работать отображение картинки поверх изображения mplayer. Видно только черный силуэт картинки, то есть она отображается, но вся черным цветом. Программа не мной писана. Посмотрел код - для изображений использует imlib. Там же используются функции xlib. Так как ни с Imlib-ом ни с xlib-ом не знаком, прошу помощи. Что могло произойти и как это решить? |
| Автор: 0xDX 7.2.2009, 08:08 |
| JekaZZ - как ваш вопрос относится к классике С++? Впредь пишете вопросы в соответствующие места. |
| Автор: andrew_121 7.2.2009, 11:02 |
| JekaZZ, Могу помочь. |
| Автор: JekaZZ 9.2.2009, 15:20 | ||
| Подозрения падают на xlib. Картинка выводится таким образом: - с помощью imlib грузится картинка, - получается ее маска - создается окно X - картинка устанавливается фоном окна X - форма окна X устанавливается по маске рисунка
Imlib_render(m_data, m_image, w, h) возвращает 1, то есть здесь все в порядке. XSetWindowBackgroundPixmap возвращает 1, но что это означает я так и не нашел. Как получить код последней ошибки Xlib? |
| Автор: andrew_121 9.2.2009, 15:50 |
| JekaZZ, Вот: http://tronche.com/gui/x/xlib/window/XSetWindowBackgroundPixmap.html |
| Автор: JekaZZ 10.2.2009, 16:30 | ||
| Сделал маленькую программку с той же последовательностью действий, что и в программе: 1. загрузка картинки, 2. установка ее фоном окна, 3. установка формы окна. Вобщем, ошибка та же , что и в программе - после установки формы окна происходит ошибка BadMatch. Если перед этим убрать установку фона, то ошибка не возникает, следовательно ошибка возникает именно из-за установки фона, тем более, что фон не устанавливается, а форма окна устанавливается. Вот эта тестовая программка:
Картинка точно грузится, так как определяется ее размеры и устанавливается по ее контуру форма окна В чем может быть дело? Почему фон не устанавливается, что значит эта ошибка? |