抱歉,我之前给出的示例中的 CSS 样式可能有误。GTK+ 使用不同的属性名称来控制控件的大小。如果你想要调整 GtkImage
控件中显示图像的大小,可以尝试以下代码:
#include <gtk/gtk.h>
int main(int argc, char *argv[]) {
gtk_init(&argc, &argv);
GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
GtkWidget *image = gtk_image_new_from_resource("/path/to/resource.png");
// 获取图像对象
GdkPixbuf *pixbuf = gtk_image_get_pixbuf(GTK_IMAGE(image));
// 调整图像大小
gint new_width = 200;
gint new_height = 150;
GdkPixbuf *scaled_pixbuf = gdk_pixbuf_scale_simple(pixbuf, new_width, new_height, GDK_INTERP_BILINEAR);
// 创建一个新的 GtkImage,并设置缩放后的图像
GtkWidget *scaled_image = gtk_image_new_from_pixbuf(scaled_pixbuf);
g_object_unref(scaled_pixbuf); // 释放缩放后的 pixbuf
gtk_container_add(GTK_CONTAINER(window), scaled_image);
gtk_widget_show_all(window);
gtk_main();
return 0;
}
上述代码中,我们通过 gtk_image_get_pixbuf
函数获取到原始图像对象 GdkPixbuf
,然后使用 gdk_pixbuf_scale_simple
函数将其缩放到指定的新宽度和新高度。接下来,我们创建了一个新的 GtkImage
控件,并通过 gtk_image_new_from_pixbuf
将缩放后的图像设置到新的控件中。
请注意替换 /path/to/resource.png
为实际的资源路径,并根据需要调整目标宽度和高度。记得正确链接 GTK+ 库并配置好编译环境。
内容由零声教学AI助手提供,问题来源于学员提问