gimphez írt script írása oly módon, hogy a grafikus gimp el se induljon

Sziasztok.

Van sok-sok képem, amiken egy 8 lépcsős effektsorozatot akarok végrehajtani oly módon, hogy még a rétegeket is kezelem.
A kimenet egy gimp fájl lenne, amin manuálisan hajtanék végre egy CURVE görbemódosítást. (Ezután menteném el a végleges fájlt)

Célom az, hogy az első 8 lécsős feladat után kelljen egerészéssel és gyorsgombokkal szórakoznom.

Kérdés: hogyan írok gimp-scriptet, ami lefut parancssorban?

Hozzászólások

Az nem megoldás, ha előbb végrehajtod az összes képen ezeket az effekteket Bimp-pel?

De hát ez egy GIMP plugin, akármelyik GIMP operationt-t (vagy akár plugint) támogatja. Csak ad egy GUI-t, amiben összekattintgathatod a batch processt. Annyi hátránya van, hogy mindenképp elmenti az eredményt és XCF-et nem támogat, vagyis attól függően mit szeretnél csinálni nem biztos, hogy ez elfogadható megoldás.

Gimben az összes funkciót file megnyitás, file mentés, stb. elérhető scripből. Tudsz változókat definiálni, így ha a bemeneti fileneveid inkrementálisak, le tudod scriptelni, hogy mindegyiken egyenként végig menjen. Annó, animációhoz csináltam auto cellpaintert, átméretezőt.

Pl:

(define (resize-image filename-in filename-out new-width new-height)
  (let* ((image    (car (gimp-file-load RUN-NONINTERACTIVE filename-in "")))
         (drawable (car (gimp-image-active-drawable image)))
        )

     (gimp-image-scale image new-width new-height)
     (gimp-file-save   RUN-NONINTERACTIVE image drawable filename-out "")
  )
)

Ez egy fileátméretező függvény, ebbe illeszt be az általad használt filter kombinációt. Ehhez még kell egy keret függvényt írnod, ami minden egyes filera meghívja a függvényedet. Az adott könyvtárban való listázáshoz kell a file-glob() (egy mintával megegyező filenevek listáját adja vissza) eredményének egy whileban történő végigpörgetésére a függvényeddel. És ennyi.

"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "

Megnézem, mit tudok a fentiek alapján.

Amúgy ez a nyolc lépésem lenne:

1.
Colors/Desaturate/Luminosity

2.
Duplicate

3.
Invert

4.
Layer/mode/dodge

5.
Filters/Blur/Gaussian blur/40/RLE

6.
Flatten image

7.
Duplicate

------ > fájlba írás

8.
Colors/Curves Pull (ezt minden fájlon már manuálisan végezném.)

10-féle lény van:
-- aki ismeri a bináris számrendszert,
-- és amelyik nem.

Filters->Script-Fu->Console->Browse...
Elkezded gépelni és dobja  fg nevet és a helpet hozzá.
gimp-desaturate-drawable mode paraméternél lehet választani DESATURATE-VALUE módot. De még nem használtam, kicsit túrni kell a netet.

"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "

Igen. De ha csak adott userrel akarod használni a scriptet, akkor ~/.gimp-2.x/scripts/ könyvtárba is mehet.

Annyi, hogy a script végén, két függvénnyel regisztrálnod kell a gimpbe a scriptedet:

pl:

(script-fu-register "script-fu-scriptednekneve"
  _"_Scripted neve..."
  _"Mit csinál a scripted"
  "Ki csinálta a scriptedet plusz email"
  "Adrian Likins"
  "mikor csinaltad a scripted"
  "RGB* GRAY*" <=milyen képtípusokkal tud dolgozni a cripted
  GUI elemek és paraméterek felsorolása, 1 elem/sor,
)

(script-fu-menu-register "script-fu-scriptedneve"
                         "<Image>/Filters/Ahovaakarodtenniascriptedetamenuben")

"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "