Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » GUI
  • » установить размер рисунка не больше какого-то значения gtk.Image [RSS Feed]

#1 Фев. 19, 2007 10:25:21

pythonwin
От:
Зарегистрирован: 2006-07-18
Сообщения: 1294
Репутация: +  0  -
Профиль   Отправить e-mail  

установить размер рисунка не больше какого-то значения gtk.Image

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



Офлайн

#2 Фев. 19, 2007 10:50:50

pythonwin
От:
Зарегистрирован: 2006-07-18
Сообщения: 1294
Репутация: +  0  -
Профиль   Отправить e-mail  

установить размер рисунка не больше какого-то значения gtk.Image

есть код по изменению размера, что сильно упрощает задачу, но как узнать размер у рисунка?

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)



Офлайн

#3 Фев. 19, 2007 11:44:39

pythonwin
От:
Зарегистрирован: 2006-07-18
Сообщения: 1294
Репутация: +  0  -
Профиль   Отправить e-mail  

установить размер рисунка не больше какого-то значения gtk.Image

проблема вроде решена:

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

если можно записать мой код короче и красивей или сделать более быстродейственным, то примеры только привествуются



Офлайн

  • Начало
  • » GUI
  • » установить размер рисунка не больше какого-то значения gtk.Image[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version