0

我有两个 png 图像,第一个具有 Width1 2247 Height1 190,第二个具有 Width2 155 Height2 36。我不希望将第二个图像(src)放置在第一个图像(dest)的中心。我创建了两者的像素缓冲区并使用 gdk_pixbuf_composite 如下。

gdk_pixbuf_composite( srcpixbuf, dstpixbuf, 1000, 100, width2, height2, 0, 0, 1, 1, GDK_INTERP_BILINEAR, 255);

我在第一张图像上得到一个宽度 2 和高度 2 的模糊窗口。

如果我用 1.0 替换 width2 和 height2,那么我不会在 dstimage 上获得 srcimage。我哪里错了?

4

1 回答 1

0

gdk_pixbuf_composite(srcpixbuf, dstpixbuf, 1000, 100, width2, height2, 1000, 100, 1, 1, GDK_INTERP_BILINEAR, 255);

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

于 2010-02-09T08:56:24.573 回答