2012-12-27 37 views
1

大小我需要在一個GTK窗口來顯示物體圖像的應用程序,但我想使窗口大小審美圖像尺寸。本質上是這樣的:檢查Gtk.Image對象在Python 3和GTK 3

. . . 
image = Gtk.Image.new_from_file(filename) 
width, height = image_dimension(image) 
window.set_size_request(width, height) 
. . . 

我需要的是像上面的「image_dimension」功能的能力。可悲的是,python 3沒有PIL(python圖像庫),使用起來非常簡單。

恐怕我是一個新十歲上下的程序員,不想去與部分頭分析(例如JPG文件的),因爲我想它的任何文件進行操作。

感謝,

Narnie

回答

1

使用GdkPixbuf.Pixbuf加載圖像文件。這可以讓你獲得圖像的高度和寬度以及許多其他屬性。然後用Gtk.Image.new_from_pixbuf()創建您的圖像小部件。

+0

我讀的是GkdPixbuf只能在8個圖像加載,這是真的嗎? GdkPixbuf.Pixbuf確定圖像類型嗎?我花了很多時間試圖找出GdkPixbuf.Pixbuf,但就是找不到任何明顯的例子,尤其對於蟒蛇(我檢查從C一些例子,但我不是AC程序員,所以這是很難翻譯成蟒蛇)。任何教程這個?另外,有沒有辦法將變量中的圖像數據鏈接到GdkPixbuf.Pixbuf?如果是這樣,怎麼樣?我檢查了具有GDK3的Devhelp,並且只找到只有get_from_window和get_from_surface方法的Pixbuf。謝謝:) – narnie

+0

我下下GDK3文檔引用GdkPixBuf API,這是我用Google搜索,發現new_from_data方法的信息發現,但你需要知道的高度和寬度首先,我不知道(除非保存到文件第一次,然後重裝,這實際上是我試圖在第一個地方做。 – narnie

+0

但是如果你從文件加載它,那麼你不需要知道的高度和寬度。 – ptomato