Загрузите изображение в окно, используя xlib - PullRequest
4 голосов
/ 17 июня 2011

Я создал класс окна, и я хочу вставить изображение в качестве фона этого окна. Форматы файлов должны быть png. Я использовал XImage от magick ++ для загрузки изображения. но не знаю, как сделать его в качестве фона моего окна. Есть идеи как это сделать?

1 Ответ

3 голосов
/ 19 июня 2011

Создание Pixmap с использованием

Pixmap XCreatePixmap(display, d, width, height, depth)
      Display *display; // The display
      Drawable d;       // The Window for which to set the background

Создание графического контекста для Pixmap

GC XCreateGC(display, d, valuemask, values)

Нарисуйте XImage для Pixmap

XPutImage(display, pixmap, gc, image, src_x, src_y, dest_x, dest_y, width, height)
        Drawable d; // The Pixmap
        XImage *image; // your XImage

Наконец, установите Pixmap в качестве фона окна

XSetWindowBackgroundPixmap(display, w, background_pixmap)
      Display *display;
      Window w;
      Pixmap background_pixmap;

Тогда освободите все ресурсы, которые больше не нужны.

...