Windows 上的 GTK#:如何让桌面 alpha 混合工作?

发布于 2024-09-02 10:12:09 字数 1039 浏览 3 评论 0原文

主题。我发现这个< /a> 并翻译成下面的代码。但它只显示一个深蓝色的矩形,根本没有透明度。

class MainClass
{
    public static void Main (string[] args)
    {
        Application.Init();
        Gtk.Window w = new Gtk.Window(Gtk.WindowType.Toplevel);
        w.ExposeEvent += new ExposeEventHandler(w_ExposeEvent);
        w.DeleteEvent += new DeleteEventHandler(w_DeleteEvent);
        w.Decorated = false;
        w.BorderWidth = 20;
        w.AppPaintable = true;
        w.Colormap = w.Screen.RgbaColormap;
        w.Show();
        Application.Run();
    }

    static void w_ExposeEvent(object o, ExposeEventArgs args)
    {
        Context context = CairoHelper.Create(args.Event.Window);
        context.SetSourceRGBA(0.0, 0.0, 50.0, 0.2);
        context.Operator = Operator.Source;
        context.Paint();
    }

    static void w_DeleteEvent(object o, DeleteEventArgs args)
    {
        Application.Quit();
    }
}

Subj. I found this and translated into code below. But it shows only a dark-blue rectangle with no transparency at all.

class MainClass
{
    public static void Main (string[] args)
    {
        Application.Init();
        Gtk.Window w = new Gtk.Window(Gtk.WindowType.Toplevel);
        w.ExposeEvent += new ExposeEventHandler(w_ExposeEvent);
        w.DeleteEvent += new DeleteEventHandler(w_DeleteEvent);
        w.Decorated = false;
        w.BorderWidth = 20;
        w.AppPaintable = true;
        w.Colormap = w.Screen.RgbaColormap;
        w.Show();
        Application.Run();
    }

    static void w_ExposeEvent(object o, ExposeEventArgs args)
    {
        Context context = CairoHelper.Create(args.Event.Window);
        context.SetSourceRGBA(0.0, 0.0, 50.0, 0.2);
        context.Operator = Operator.Source;
        context.Paint();
    }

    static void w_DeleteEvent(object o, DeleteEventArgs args)
    {
        Application.Quit();
    }
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文