Нужно из прилагающего жпг (осторожно, Not Safe For Work) сделать гиф. Чтобы анимация шла с крайнего левого кадра до самого правого и назад. Как это поленивей и поэлегантней сделать?
dageru присоединил изображение:
Мы люди ленивые и ручками работать не привыкшие. Хотелось бы автоматизации, чтобы если бы попалось похожее изображение, но уже из сотни кадров, то это бы уже проблемой бы не было бы. Но я не умею скрипты
10 июля, день. Роман Йоост > prokoudine: "Думаю написать для Apress книгу о программировании в GIMP"
10 июля вечер. prokoudine > Роман Йоост: "Ну и кто её купит?"
11 июля, 14.00. Роман Йоост > prokoudine: "Да, пожалуй, так. Не буду писать"
11 июля, 14.23. dageru на gimp.ru...
Посмотрите вот этот сценарий:
По описанию примерно подходит, но это для GIMP 1.0, т.е. без допиливания он наверняка не заработает. Ждём spoilt_exile, если его, конечно, не смутят китайские порномультики
Изменил(а) prokoudine, 11/07/2010 16:32
Помедицировал на выходных над http://lists.xcf.berkeley.edu/lists/gimp-user/2000-March/000951.html и что-то намалевал. Так как до меня так и не дошло, что же от меня хочет file_gif_save, сохранять придётся вручную. И так как я не умею делать полноценные скрипты и добавлять их в менюшки, запускать его придётся копипастом содержимого gimp.py в консоль Python-fu, предварительно открыв kerochan_nsfw.jpg.
py среди разрешённых расширений нет, поэтому кладу архивом.
Изменил(а) dageru, 12/07/2010 12:35
#туда
for i in range(1,frames):
pdb.gimp_rect_select(img,w*i,0,w,h,CHANNEL_OP_REPLACE,False,0)
pdb.gimp_edit_copy(layer)
l=gimp.Layer(img2, '', w, h, RGB_IMAGE, 100, NORMAL_MODE)
img2.add_layer(l,0)
lf=pdb.gimp_edit_paste(l, True)
pdb.gimp_floating_sel_anchor(lf)
#сюда
for i in range(1,frames-1):
pdb.gimp_selection_all(img2)
pdb.gimp_edit_copy(img2.layers[2*i - 1])
l=gimp.Layer(img2, '', w, h, RGB_IMAGE, 100, NORMAL_MODE)
img2.add_layer(l,0)
lf=pdb.gimp_edit_paste(l, True)
pdb.gimp_floating_sel_anchor(lf)
#pdb.file_gif_save(RUN_NONINTERACTIVE, img2, img2.layers[0], 'ololo.gif', 'ololo.gif',False,True,100,0)
#TypeError: wrong number of parameters, bleat
img.enable_undo()
img2.enable_undo()
Нужно выловить из этого кода весь идиотизм, который туда прокрался. Если что-то сделано в обход, а можно было проще, если параметры где-нить не те, какие нужны...
А готовая гифка оказалась на 16 кб тяжелее лимита. http://img15.imageshack.us/img15/4583/kero.gif