gpt4 book ai didi

c - 如何在另一个 GdkPixbuf 上复制具有透明背景的 GdkPixbuf

转载 作者:太空宇宙 更新时间:2023-11-04 04:10:59 24 4
gpt4 key购买 nike

在 C/C++ 中使用 GDK 时,我尝试将具有透明背景的 GdkPixbuf 复制到另一个 GdkPixbuf 上,gdk_pixbuf_copy_area() 说:

(scrol:6227): GdkPixbuf-CRITICAL **: 10:41:37.084: gdk_pixbuf_copy_area: 断言 '!(gdk_pixbuf_get_has_alpha (src_pixbuf) && !gdk_pixbuf_get_has_alpha (dest_pixbuf))' 失败

如果 gdk_pixbuf_copy_area() 不会这样做,那我该怎么做呢?我想更改目标 GdkPixbuf,而不是显示或窗口或其他任何内容,因此覆盖和合成似乎不是答案。

谢谢。

最佳答案

看起来,您的目标 GdkPixbuf 没有 alpha channel ,而您的源 GdkPixbuf 有。这是无效的组合。

尝试将 alpha channel 添加到您的目标 Pixbuf 中

dest_alpha = gdk_pixbuf_add_alpha(dest, false, 0, 0, 0);

在调用 gdk_pixbuf_copy_area() 之前去除这个断言。请注意,这将创建一个添加了 alpha channel 的新 pixbuf(请参阅联机帮助页 gdk_pixbuf_add_alpha())

关于c - 如何在另一个 GdkPixbuf 上复制具有透明背景的 GdkPixbuf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57435283/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com