我四处寻找一种方法,使用Mono(C#)绑定库将png加载到Cairo中,但我得到的最接近的是使用类似cairo_image_surface_create_from_png()
的库的C绑定。但是,在库的C#绑定中,我没有在Cairo.ImageSurface.*
下看到任何有用的静态成员。在某个地方,一篇旧文章提到绑定是不完整的,是这种情况吗?目前我正在使用Gdk.Image.Pixbuf
来加载内存(嵌入)图像但看到Gtk +已经转移到Cairo并且Mono中的Windows.Forms正在使用Cairo,我认为开罗的C#绑定至少会是完成足以包括图像加载。我可能错过了什么?
答案 0 :(得分:2)
我最近这样做了。您需要将图像加载到Cairo Surface: -
var icon = new ImageSurface( pngfile );
然后您可以使用ImageSurface.Show方法进行渲染:
icon.Show( ctx, x, y );
在Mono.Cairo Cookbook page上查看更多有用的内容。