我是gtk 3.0 +的新手,我想知道当图像尺寸过大时人们如何处理这种情况。
是否有可能有一个固定大小的框架来显示图像(据我所知,似乎容器大小将根据它所拥有的小部件大小而改变,gtk_overlay似乎是可能的,但我不确定如果还有其他方法可以做到这一点
如果第1步是可能的,当图像变得太大时,在固定尺寸区域下,当我们在图像周围移动时,我们可以看到图像的不同部分(其他部分是超出该区域未显示
答案 0 :(得分:1)
当你知道如何时,这很容易。在C:
GdkPixbuf *pixbuf;
GtkWidget *preview_image;
preview_image = gtk_image_new ();
pixbuf = gdk_pixbuf_new_from_file_at_scale (file_uri,
128,
128,
TRUE, NULL);
gtk_image_set_from_pixbuf (GTK_IMAGE(preview_image), pixbuf);
基本上,您不能直接从文件中将图像放在任何类型的滚动“窗口”中。相反,将文件加载到pixbuf中,并将pixbuf加载到图像中,所有大小调整都应该自动处理。
答案 1 :(得分:0)
所以我尝试了滚动视图之外的其他东西,我使用的是gtk_fixed,如果我们在窗口外移动一个小部件,它的大小会增加。
我稍后切换到gtk_layout(包括gtk_fixed的功能),并设置调整,以使布局的大小固定。
对于之前的回答中再次出现混淆感到抱歉!