Polskie Forum Użytkowników GIMP-a

Tutoriale => Prośby o tutoriale => Wątek zaczęty przez: mopsiok on 06.02.2009, 08:26:23



Tytuł: Python-fu
Wiadomość wysłana przez: mopsiok on 06.02.2009, 08:26:23
Czy mógłby ktoś zamieścić tutorial do instalacji python-fu pod gimpa 2.6.* ? Bo chciałbym napisać skrypt, ale ten scheme to takie dziwne, że mi nawet wywala błąd przy '(set! ...)', a każdy skrypt, który zostaje zapożyczony z internetu nie działa :).
Z góry thx, mopsiok.

PS:
Od razu mówię, że przeszukałem chyba z pół google, a kolejne pół na szukanie o scheme :). Tak samo skorzystałem z wyszukiwarki tutaj.


Tytuł: Odp: Python-fu
Wiadomość wysłana przez: Ziomioslaw on 06.02.2009, 09:16:11
Do FAQ GIMPowego skrypciarza nie zaglądałeś.


Tytuł: Odp: Python-fu
Wiadomość wysłana przez: mopsiok on 06.02.2009, 13:45:15
Do FAQ GIMPowego skrypciarza nie zaglądałeś.

Zaglądałem. I tam jest tylko o script-fu. A mnie interesuje python-fu (jeśli coś przeoczyłem, to przepraszam i proszę o nakierowanie mnie)


Tytuł: Odp: Python-fu
Wiadomość wysłana przez: mmiicc on 06.02.2009, 15:39:24
Jeśli znasz Pythona, to przejrzyj wtyczki napisane w tym języku dla GIMP-a. Powinno dać Ci to jakiś obraz problemu. Nie wiem, czy masz pod Windowsem zainstalowanego Pythona. Jeśli nie, to przejrzyj ten wątek (http://www.gimpuj.info/index.php/topic,18150.0.html) (cały). Co prawda odnosił się do GIMP-a 2.4, ale myślę, że sobie poradzisz.     


Tytuł: Odp: Python-fu
Wiadomość wysłana przez: mopsiok on 06.02.2009, 18:06:50
dzięki. Trochę programowałem w Pythonie (zakończyłem na pętli for <lol>). Tylko nie wiem o jakie wtyczki Ci chodzi. Pythona mam zainstalowanego, ale wersje 2.5.*. Czy może to być tylko 2.5.2? I czy jest jakaś różnica, jeśli mam gimpa 2.6.1? Trochę dużo pytań, ale nie do końca jestem obcykany :)


#update:
przeglądam ten tutorial, ale jak ściągnąłem gtk to nie mogę znaleźć pliku instalacyjnego (w pierwszym nie było, w drugim też nie ma, choć pisało, że jest ;/)

#update 2:
wszystko mam zainstalowane, Pycairo, PyGobject i PyGTK. Jedyny problem to ten GTK (A w ogóle, to po co on jest? Bo czytałem, że to jest cośtam z interfacem związane)


Tytuł: Odp: Python-fu
Wiadomość wysłana przez: mopsiok on 06.02.2009, 21:40:43
Od razu mówię sorry za double posta :)

Wydaje mi się, że działa (nie instalowałem tego GTK). Niestety, pojawiły się nowe problemy... Mam gimpa, niby wszystko ok, jest w Filtrach Python-fu, w nim jest konsola, jednak nie wiem, jak 'odświeżyć' skrypty. I czy zapisywać je w tym samym katalogu co scm-y (i oczywiście czy pod rozszerzeniem *.py). Nie wiem też, jak się je w ogóle wywołuje. Jeśli ktoś mógłby mi na te pytania odpowiedzieć, to byłbym wniebowzięty :)

PS:
Mam pewne wątpliwości co do całkowitego działania python-fu. Oto pewien kod w pewnej strony (:D):
Kod:
#! /usr/bin/env python
from os import getcwd
from os.path import join
from glob import glob
from gimpfu import *


def kkk_scale(pattern, new_width, new_height):
    """ Przeskalowuje wszystkie pliki pasujace do

wzorca"""
    # pobieramy wszystkie pliki pasujace do wzorca
    files = glob(join(getcwd(), pattern))
    # dla kazdego pliku
    for filename in files:
        # wczytujemy plik
        image = pdb.gimp_file_load(filename, filename);
        # pobieramy aktywna (i jedyna) warstwe, ktora

bedziemy edytowac
        drawable = pdb.gimp_image_get_active_layer(image)
        # pobieramy rozmiary
        width = pdb.gimp_drawable_width(drawable)
        height = pdb.gimp_drawable_height(drawable)
        # bedziemy skalowac wzgledem wiekszego rozmiaru
        if width > height:
            n_width = new_width
            n_height = height*new_width/width
        else:
            n_height = new_height
            n_width = width*new_height/height
        # skalujemy
       

pdb.gimp_drawable_transform_scale_default(drawable, 0, 0,

n_width, n_height, 2, 0)
        # zapisujemy plik
        pdb.gimp_file_save(image, drawable, filename,

filename)
        # usuwamy plik z pamieci
        pdb.gimp_image_delete(image)

register(
  "kkk_scale", "", "", "Jakub Stolarski", "copyleft",

"2006",
    "<Toolbox>/Xtns/Python-Fu/Moje/_KKK Scale", "",
  [
  (PF_STRING, "pattern", "File pattern", ""),
  (PF_INT, "new_width", "New width", ""),
  (PF_INT, "new_height", "New height", ""),
  ],
  [],
  kkk_scale
  )

main()

wpisuje po kolei linijki w konsoli (w def-ach wszystko na raz) a tu na końcu wywala błąd ;/

Coś nie tak w kodzie, czy u mnie? :D


Tytuł: Odp: Python-fu
Wiadomość wysłana przez: mmiicc on 06.02.2009, 22:45:18
Ja o Pythonie pojęcia nie mam, umiem tylko w miarę dobrze wyszukiwać informacje. ;)
A więc tak: jeśli znasz angielski to zajrzyj na stronę z przykładowymi pluginami (http://gimpfr.org/contrib_template.php). Wejdź też na http://registry.gimp.org i wpisz w wyszukiwarkę "python" to Ci wyrzuci potrzebne informacje.
Cytuj
I czy zapisywać je w tym samym katalogu co scm-y (i oczywiście czy pod rozszerzeniem *.py)
Zapisujesz w katalogu "plug-ins" GIMP-a i oczywiście z rozszerzeniem .py


Cytuj
Coś nie tak w kodzie, czy u mnie?
Kod jest z 2006 roku, trochę się od tego czasu w GIMP-ie zmieniło, choćby to, że w GIMP-ie 2.6 nie ma już menu "Toolbox>/Xtns/Python-Fu" (w którym miałby się pojawić ten plugin)


Cytuj
Nie wiem też, jak się je w ogóle wywołuje.
Z tego co rozumiem, to Ty musisz wskazać miejsce, gdzie ma się w menu "usadowić" dany plugin.

To tyle raczej z mojej strony, więcej raczej nie będę w stanie Ci pomóc. Życzę powodzenia. :)


Tytuł: Odp: Python-fu
Wiadomość wysłana przez: mopsiok on 07.02.2009, 08:29:47
Dzięki wielkie :)

Z tym 'usadowieniem' to mnie nie zrozumiałeś. Nie chodzi mi o to, gdzie mam to umieścić (bo o tym już wiem :D), tylko o to, czy żeby uruchomić skrypt to trzeba zrobić na początku coś więcej (np. gdzieś go dodać, czy cuś) niż go napisać i wrzucić do plug-in. Jak wrócę skądś (:D) to od razu sprawdzę.

PS:
Jeśli nie ma <toolbox>, to gdzie indziej można wywołać skrypt?


Tytuł: Odp: Python-fu
Wiadomość wysłana przez: Ziomioslaw on 07.02.2009, 09:21:42
Teraz to i tak jedno menu.
Zawsze można z linii poleceń:P


Tytuł: Odp: Python-fu
Wiadomość wysłana przez: mopsiok on 07.02.2009, 14:47:18
u mnie właśnie niezbyt... Bo wywala błąd jak ten kod wpisuję :)

PS:
Czy ścieżka do tego folderu plug-in to ta:
C:\Program Files\GIMP-2.0\lib\gimp\2.0\plug-ins
?)


Tytuł: Odp: Python-fu
Wiadomość wysłana przez: mmiicc on 07.02.2009, 14:53:51
Zajrzyj w "edycja>preferencje". Tam masz na dole "katalogi". Rozwiń i zobacz "wtyczki". Będzie pisać, gdzie masz ten katalog.


Tytuł: Odp: Python-fu
Wiadomość wysłana przez: mopsiok on 07.02.2009, 19:30:28
ok, to ta ścieżka. Czy mógłby ktoś wrzucić linka do tutka do python-fu dla gimpa 2.6.1? Bo coś nie mogę znaleźć  :P


Tytuł: Odp: Python-fu
Wiadomość wysłana przez: mopsiok on 17.02.2009, 11:27:16
no cuż, niestety ani python-fu ani script-fu nie działa jak cokolwiek robię, więc nowe pytanie: Czy gimp wysyła "do siebie" jakieś pakiety (tak, żeby je móc przechwycić)? Bo jeśli by miał pakiety to mogę sobie zrobić 'bota' :P