Having said I don't want to get sidetracked....
I managed to convert most of the example, to python, but I couldn't work out
where to find 'blit', it's probably not missing, but I did
# import Gegl
# dir(Gegl.Node)
['__class__', '__cmp__', '__copy__', '__deepcopy__', '__delattr__', '__dict__',
'__doc__', '__format__', '__gdoc__', '__getattribute__', '__getitem__',
'__gobject_init__', '__grefcount__', '__gtype__', '__hash__', '__init__',
'__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__',
'__rrshift__', '__rshift__', '__setattr__', '__sizeof__', '__str__',
'__subclasshook__', '__weakref__', 'chain', 'connect', 'connect_after',
'connect_from', 'connect_object', 'connect_object_after', 'connect_to',
'create_child', 'detect', 'disconnect', 'disconnect_by_func', 'emit',
'emit_stop_by_name', 'find_property', 'freeze_notify', 'get_bounding_box',
'get_children', 'get_consumer', 'get_consumers', 'get_data', 'get_input_proxy',
'get_operation', 'get_output_proxy', 'get_producer', 'get_properties',
'get_property', 'handler_block', 'handler_block_by_func', 'handler_disconnect',
'handler_is_connected', 'handler_unblock', 'handler_unblock_by_func', 'link',
'lookup', 'new_child', 'new_processor', 'notify', 'process', 'props',
'render', 'set_data', 'set_properties', 'set_property', 'stop_emission',
'thaw_notify', 'to_dot', 'to_xml', 'weak_ref']
Heres how far I got:
import cairo
import Gegl
gegl = Gegl.Node()
load = gegl.new_child("gegl:load", path="test.png")
size = load.get_bounding_box()
image = cairo.ImageSurface(cairo.FORMAT_ARGB32, size.width, size.height)
#gegl_node_blit (load,
# 1.0 /*scale*/,
# &size,
# babl_format ("R'G'B'A u8"),
# cairo_image_surface_get_data (image),
# GEGL_AUTO_ROWSTRIDE,
# GEGL_BLIT_DEFAULT);
image.write_to_png('/tmp/output.png')
_______________________________________________
Gegl-developer mailing list
[email protected]
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gegl-developer