2
有人可以發表一個代碼示例,瞭解如何在c代碼中使用「gegl:weighted-blend」操作,而不是使用xml文件(過濾器)對gegl(terminal)進行操作。
我開始使用gegl庫,它完全符合我的需求,但我似乎無法找到一個好的文檔(該網站很好,但不詳細)。 有沒有一個論壇或地方可以向gegl圖書館尋求幫助?
如果它幫助這裏是我使用GEGL的審判:加權混合:GEGL庫中的加權混合
GeglNode *gegl = gegl_node_new();
GeglNode *display = gegl_node_create_child (gegl, "gegl:display");
GeglNode *over = gegl_node_new_child (gegl,"operation", "gegl:over",NULL);
GeglNode *c2g = gegl_node_new_child (gegl,"operation", "gegl:c2g",NULL);
GeglNode *blur = gegl_node_new_child (gegl,"operation", "gegl:gaussian-blur","std- dev-x",1.0,"std-dev-y",1.0,NULL);
GeglNode *img = gegl_node_new_child (gegl,"operation", "gegl:load","path","test.jpg",NULL);
GeglBuffer *buffer = NULL;
GeglNode *sink = gegl_node_new_child (gegl,"operation", "gegl:buffer-sink","buffer", &buffer,NULL);
gegl_node_link_many (img , c2g , sink, NULL);
gegl_node_process (sink);
GeglNode *blend = gegl_node_new_child (gegl,"operation", "gegl:weighted-blend","aux",buffer,"value",0.0,NULL);
gegl_node_link_many(img, blend, display, NULL);
//gegl_node_process (blend);
//gegl_node_link_many(blend, display, NULL);
gegl_node_process (display);
有點信息,在這個例子中,我有一個test.jpg放在圖像。我在其上應用了一個c2g過濾器,然後我嘗試將它與自身混合,而不使用c2g過濾器。
c2g和gegl:buffer-sink部分工作,這意味着我可以用灰度顯示圖像,並且緩衝區以灰度顏色填充圖像。
我在做什麼錯?因爲這與gegl:weighted-blend的組合輸出是空白屏幕。
感謝ü非常先生,但u've錯過了賞金的xD。 – 2014-10-22 16:59:14