Найти - Пользователи
Полная версия: установить размер рисунка не больше какого-то значения gtk.Image
Начало » GUI » установить размер рисунка не больше какого-то значения gtk.Image
1
pythonwin
помогите пожалуйста:
как сделать чтобы gtk.Image был по высоте или ширина не больше какого-то значения (например 300, 400 или 500)
создание рисунка:
img1 = gtk.Image()
img1.set_from_image('pic123.jpg')
pythonwin
есть код по изменению размера, что сильно упрощает задачу, но как узнать размер у рисунка?

pixbuf = gtk.gdk.pixbuf_new_from_file('pic123.JPG')
scaled_buf = pixbuf.scale_simple(300,300,gtk.gdk.INTERP_BILINEAR)
img1.set_from_pixbuf(scaled_buf)
pythonwin
проблема вроде решена:
img1=gtk.Image()
pixbuf = gtk.gdk.pixbuf_new_from_file('pic123.JPG')
l=[pixbuf.get_width(), pixbuf.get_height()]
max1 = max([float(x)/300 for x in l])
if max1>1:
    w, h = [int(x/max1)for x in l]
else:
    w, h = l
scaled_buf = pixbuf.scale_simple(w,h,gtk.gdk.INTERP_BILINEAR)
img1.set_from_pixbuf(scaled_buf)

возможно будет ошибка с max1>1, т.к. max1 - это число типа float

если можно записать мой код короче и красивей или сделать более быстродейственным, то примеры только привествуются
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB