xlibで透明なウィンドウを作成する方法は?

xlibで透明なウィンドウを作成する方法は?

xlibで透明なウィンドウを作成する方法についてオンラインで見つけました。私の目標は、Imlib2画像が透明な背景として表示されるようにすることです。背景に透明な画像があり、ウィンドウの背景色のみを表示できるようになりました。ウィンドウの背後にあるコンテンツが表示され、画像が引き続き表示されるように色を透明にしたいと思います。

次のコードがあります。

XVisualInfo vinfo;
XMatchVisualInfo(DISPLAY, DefaultScreen(DISPLAY), 32, TrueColor, &vinfo);

XSetWindowAttributes attr;
attr.background_pixel = 0;
attr.border_pixel = 0;
attr.colormap = XCreateColormap(DISPLAY, ROOT, vinfo.visual, AllocNone);

window = XCreateWindow(
    DISPLAY,
    parent_window,
    0,
    0,
    button_geometry.width,
    button_geometry.height,
    0,
    32,
    InputOutput,
    vinfo.visual,
    CWBackPixmap | CWBackPixel | CWBorderPixel,
    &attr
);
XSelectInput(DISPLAY, window, StructureNotifyMask);
XMapWindow(DISPLAY, window);
XSync(DISPLAY, false);

クリック、ドロップ、およびモーションイベントがあるため、対話できるウィンドウが作成されますが、まったく表示できません。 xlib画像を見続けるために背景色を透明にするにはどうすればよいですか?

ベストアンサー1

おすすめ記事