c - gdk_pixbuf_composite用法

标签 c gtk gdk

我有两个 png 图像,第一个图像的宽度为 2247,高度1 190,第二个图像的宽度为 155,高度2 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 的模糊窗口。

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

最佳答案

gdk_pixbuf_composite( srcpixbuf, dstpixbuf, 1000, 100, 宽度2, 高度2, 1000, 100, 1, 1, GDK_INTERP_BILINEAR, 255);

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

关于c - gdk_pixbuf_composite用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2227298/

相关文章:

c++ - 如何直接获取 rand() 序列中的第 n 个数字而不必调用 rand() n 次?

c - 如何将 gtk "configure-event"传播到自定义 gtkwidget

listview - 选择 TreeView (列表存储)行时如何获得通知?

c - 除非光标位于滚动条上方,否则 GtkScrolledWindow 不响应鼠标滚轮

c# - 以编程方式创建表单并在表单中显示位图?

c - C 中的文件处理

php - 从 PHP 打包 C 结构

python - 如何在 GDK 中获取不包括 Unity 侧面板的屏幕大小

c - 使文字和线条出现在 GTK 窗口上...使用 XLIB 和 GDK

C - 访问字符数组中的索引会产生奇怪的结果,包括许多其他元素