首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在另一个GdkPixbuf上复制具有透明背景的GdkPixbuf

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

Stack Overflow用户
提问于 2019-08-10 02:13:59
回答 1查看 115关注 0票数 1

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

(滚动:6227):GdkPixbuf-CRITICAL **:10:41:37.084: gdk_pixbuf_copy_area: assertion '!(gdk_pixbuf_get_has_alpha (src_pixbuf) && !gdk_pixbuf_get_has_alpha (dest_pixbuf))‘失败

如果gdk_pixbuf_copy_area()不能做到这一点,那我该怎么做呢?我想要更改目标GdkPixbuf,而不是显示或窗口或其他任何东西,因此覆盖和组合似乎不是答案。

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2019-08-10 02:35:47

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

尝试使用以下命令将alpha通道添加到目标Pixbuf

代码语言:javascript
复制
dest_alpha = gdk_pixbuf_add_alpha(dest, false, 0, 0, 0);

在调用gdk_pixbuf_copy_area()之前去掉这个断言。请注意,这将创建一个添加了alpha通道的新pixbuf (参见手册页gdk_pixbuf_add_alpha())

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57435283

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档