试图从ImageSurface创建一个Pixbuf,但我得到的只是黑色像素。有什么想法吗?
Cairo.ImageSurface surface = mysurface;
int w = surface.Width;
int h = surface.Height;
Gdk.Pixmap pixmap = new Gdk.Pixmap(null, w, h, 24);
using (Cairo.Context cr = Gdk.CairoHelper.Create(pixmap)) {
cr.Operator = Cairo.Operator.Source;
cr.SetSource(surface);
cr.Paint();
}
_pixbuf = Gdk.Pixbuf.FromDrawable(pixmap, Gdk.Colormap.System, 0, 0, 0, 0, w, h);发布于 2014-02-22 16:57:00
上面的代码是正确的..。我只是没有把任何东西画到表面。效果很好!
发布于 2014-02-21 09:06:18
如果您使用的是Gdk 3,那么您会很幸运,因为这应该是可行的:
my_pixbuf = Gdk.pixbuf_get_from_surface (surface, x, y, w, h);https://stackoverflow.com/questions/21928901
复制相似问题