在DirectFB(Framebuffer)下开发Gtk程序的人都知道,由于Gdk-DirectFB接口实现不完全(不排除是我们库的问题),我们不可以使用gdk_pixbuf_render_pixmap_and_mask来使PNG透明。因此需要其他方法来让PNG透明显示,否则发挥不出PNG的优势,也不能实现绚丽的界面。
经过实验,发觉cairo能够使它透明显示,步骤很简单:
cairo_surface_t *png_surface = cairo_image_surface_create_from_png("./images/bg.png");
cairo_set_source_surface(cr, png_surface, 10, 10);
cairo_paint(cr);
这很好用,另外,我们可以使用cairo画其他图片格式,我们可以把其他图片Load到Pixmap,然后使用gdk_cairo_set_source_pixbuf。
阅读(3080) | 评论(1) | 转发(0) |