我看不出Emmanuele的答案有什么太先进的地方,这里有一个Vala端口,有一些额外的代码可以实际使用
Clutter.Image
作为一个
Clutter.Actor
的内容:
private static Clutter.Actor create_clutter_actor_from_file (string filename) throwsGLib.Error {
Gdk.Pixbuf pixbuf = new Gdk.Pixbuf.from_file (filename);
Clutter.Image image = new Clutter.Image ();
image.set_data (pixbuf.get_pixels (),
pixbuf.has_alpha ? Cogl.PixelFormat.RGBA_8888 : Cogl.PixelFormat.RGB_888,
pixbuf.width,
pixbuf.height,
pixbuf.rowstride);
Clutter.Actor actor = new Clutter.Actor ();
actor.content = image;
actor.set_size (pixbuf.width, pixbuf.height);
return actor;
}