首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >杂波-瓦拉如何加载纹理

杂波-瓦拉如何加载纹理
EN

Stack Overflow用户
提问于 2013-10-17 13:36:36
回答 1查看 510关注 0票数 1

我试图加载一个文件夹图标作为纹理。我现在几乎什么都试过了,但由于某种原因,我无法使它发挥作用

我认为this thread正是我想要的,但它太先进了。我想现在简单一点。

由于某些原因,我无法让this工作/翻译它。

这就是我最后得到的代码。现在不知道该怎么办了。

代码语言:javascript
复制
class nicholas
{

Gtk.Window window;
GtkClutter.Embed clutter;
Clutter.Rectangle r;
Clutter.Texture t;

public nicholas () 
{
    window = new Gtk.Window ();
    clutter = new GtkClutter.Embed ();
    var stage = clutter.get_stage () as Clutter.Stage;

    stage.background_color = Clutter.Color.from_string ("black");

    var o = new     Cogl.Texture.from_file("/usr/share/icons/gnome/48x48/places/folder.png",     Cogl.TextureFlags.NONE, Cogl.PixelFormat.ANY);
    t = new Clutter.Texture.set_cogl_texture(o);
    t.x = 80;
    t.y = 80;
    stage.add_child (t);

    window.add (clutter);
    window.destroy.connect (Gtk.main_quit);
    window.set_default_size (500, 300);
    window.show_all ();
    }
    }
    public static void main (string [] args)
    {
    GtkClutter.init (ref args);

    nicholas nicholas = new nicholas ();

    Gtk.main ();
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-17 22:12:31

我看不出伊曼纽尔的回答有什么进展,…下面是一个Vala端口,有一些额外的代码来实际使用Clutter.Image作为Clutter.Actor的内容:

代码语言:javascript
复制
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;
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19428278

复制
相关文章

相似问题

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