Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> установить размер рисунка не больше какого-то, значения 
:(
    Опции темы
pythonwin
Дата 19.2.2007, 11:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 14
Всего: 36



помогите пожалуйста:
как сделать чтобы gtk.Image был по высоте или ширина не больше какого-то значения (например 300, 400 или 500)
создание рисунка:
img1 = gtk.Image()
img1.set_from_image('pic123.jpg')
PM WWW GTalk Jabber   Вверх
pythonwin
Дата 19.2.2007, 11:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 14
Всего: 36



есть код по изменению размера, что сильно упрощает задачу, но как узнать размер у рисунка?
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)
PM WWW GTalk Jabber   Вверх
pythonwin
Дата 19.2.2007, 12:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 14
Всего: 36



проблема вроде решена:
Код
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

если можно записать мой код короче и красивей или сделать более быстродейственным, то примеры только привествуются
PM WWW GTalk Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0413 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.