C# 将曲面转换回Pixbuf
我在C# 将曲面转换回Pixbuf,c#,mono,cairo,gdk,C#,Mono,Cairo,Gdk,我在Pixbuf上绘制了以下代码: private Pixbuf drawOnPixbuf(Pixbuf original) { Surface surface = new ImageSurface(Format.Argb32, original.Width, original.Height); Context ctx = new Context(surface); CairoHelper.SetSourcePixbuf(ctx, original, 0, 0);
Pixbuf
上绘制了以下代码:
private Pixbuf drawOnPixbuf(Pixbuf original)
{
Surface surface = new ImageSurface(Format.Argb32, original.Width, original.Height);
Context ctx = new Context(surface);
CairoHelper.SetSourcePixbuf(ctx, original, 0, 0);
// Draw on the surface here. Not shown since not relevant.
// Here, I want to convert the surface back to pixbuf.
Pixbuf finishedPixbuf = ...;
ctx.GetTarget().Dispose();
ctx.Dispose();
return finishedPixbuf;
}
我找不到如何将
曲面
转换回Pixbuf
您正在寻找的函数似乎是Gdk的一部分:
cairo_surface_t *
gdk_cairo_surface_create_from_pixbuf (const GdkPixbuf *pixbuf,
int scale,
GdkWindow *for_window);
具体来说,gdk\u cairo\u surface\u create\u from\u pixbuf(pixbuf,1,NULL)
应该做您想要做的事情。(对不起,我不知道如何用C#来表达这一点。)