2013-06-05 4 views
0

자바 스크립트를 사용하여 매우 끔찍한 내포 문서를 사용하려고했지만 ClutterTexture을 대체 할 것으로 생각되는 ClutterImage을 만들려고합니다. 내가 해요 속성에 대한 잘못된 이름을 가지고 있다는 것을 의미 물론 어떤 Error: No property uri on this GObject ClutterImage :Clutter.Image 속성 - 디스크에서 이미지로드

const Clutter = imports.gi.Clutter; 

Clutter.init(null); 

let stage = new Clutter.Stage(); 

stage.connect("destroy", Clutter.main_quit); 
stage.title = "Test"; 

stage.set_background_color(new Clutter.Color({ 
    red : 0, 
    blue : 128, 
    green : 64, 
    alpha : 255 
})); 

let img = new Clutter.Image({ 
    uri : 'some-image.jpg' 
}); 

stage.add_actor(img); 
Clutter.main(); 

내 오류가 현재 : 나는 이러한 이미지를로드 할 파일 이름/URI를 지정하는 데 사용하는 속성의 이름을 확인할 수 없습니다 uri에 사용하려고합니다. 누구든지 이걸 볼 수있는 곳을 알고 있거나 파일 이름/URI 속성이 ClutterImage s에서 호출 된 것을 알고 있습니까?

답변

1

텍스처 데이터를 파일에서 Clutter.Image 인스턴스로로드하는 속성이나 함수가 없습니다.

당신은 파일, 버퍼, 또는 스트림에서 이미지 데이터를로드 Gdk.Pixbuf를 사용하고 같은과 함께 Clutter.Image에 넣어해야합니다

let pixbuf = Gdk.Pixbuf.new_from_file('...'); 
let image = new Clutter.Image(); 
image.set_data(pixbuf.get_pixels(), 
       pixbuf.has_alpha() ? Cogl.PixelFormat.RGBA_8888 
            : Cogl.PixelFormat.RGB_888, 
       pixbuf.get_width(), 
       pixbuf.get_height(), 
       pixbuf.get_rowstride()); 

작업을해야한다; 그렇지 않다면, 그것은 내성 문제이고, GdkPixbuf에서 약간의 비틀기가 필요할 것입니다.

+0

정확히 내가 일하는 것을 끝내 었습니다. +1 – BlackVegetable