C gdk_pixbuf_复合用法

C gdk_pixbuf_复合用法,c,gtk,gdk,C,Gtk,Gdk,我有两个png图像,第一个宽1227高1190,第二个宽155高236。我不想把第二个imagesrc放在第一个imagedest的中心。我创建了两者的像素buf,并使用gdk_pixbuf_composite,如下所示 gdk_pixbuf_composite( srcpixbuf, dstpixbuf, 1000, 100, width2, height2, 0, 0, 1, 1, GDK_INTERP_BILINEAR, 255); 在第一张图片上,我看到了一个宽度为2、高度为2的模糊窗

我有两个png图像,第一个宽1227高1190,第二个宽155高236。我不想把第二个imagesrc放在第一个imagedest的中心。我创建了两者的像素buf,并使用gdk_pixbuf_composite,如下所示

gdk_pixbuf_composite( srcpixbuf, dstpixbuf, 1000, 100, width2, height2, 0, 0, 1, 1, GDK_INTERP_BILINEAR, 255);
在第一张图片上,我看到了一个宽度为2、高度为2的模糊窗口


如果我将width2和height2替换为1.0,那么我就不会在dst映像上获得srcimage。我错在哪里?

gdk_pixbuf_复合srcpixbuf,dstpixbuf,1000,100,宽度2,高度2,1000,100,1,1,gdk_INTERP_双线性,255

这就解决了。错误地理解了偏移参数。基本上会创建一个中等比例的图像,并且只合成由dest wid,height表示的部分。因此,在我的例子中,我们需要将整个未缩放图像移动到目标偏移,这是由offset参数完成的