GIMP/Programowanie: Różnice pomiędzy wersjami
Usunięta treść Dodana treść
m →C: PNM reading and writing |
|||
Linia 75:
==Scheme==
'''Scheme''' jest to język programowanie (
Wersje
*'''TinyScheme''' jest to wersja języka Scheme zgodna ze standardem R5RS. Tak jest od wersji 2.4 Gimpa,
* SIOD <ref>[http://www.gimp.org/docs/script-fu-update.html SCRIPT-FU IN GIMP 2.4]</ref>
Linia 82:
'''Script-Fu''' jest to wtyczka do gimpa pozwalająca uruchamiać skrypty w TinyScheme <ref>[http://www.ve3syb.ca/software/tiny-fu/tiny-fu-faq.html tiny-fu-faq ]</ref>
Jest to również języki makr (
Funkcje
* script-fu-register
* script-fu-menu-register
Linia 90:
Dzięki temu plikowi skrypty mogą być używane w obrębie Gimpa.
'''Interpretator Skryptów''' (
Linia 96:
===Konsola ===
Możesz otworzyć konsolę za pomocą menu głównego
Witamy w TinyScheme
Copyright (c) Dimitrios Souflis
Linia 103:
Teraz można wprowadzać polecenia w języku Scheme, a dokładniej w jego odmianie TinyScheme.
Na przykład dodać 3 i 5
(+ 3 5)
lub pozdrowić świat
(gimp-message "Hello World")
utworzyć nowy obraz
(define width 256)
(define height 384)
(define image (car (gimp-image-new width height 0)))
utworzyć nową warstwę
(define layer (car (gimp-layer-new image width height 0 "Layer" 100 0)))
dodać warstwę do obrazu
(gimp-image-add-layer image layer 0)
wyświetlić nowy obraz
(gimp-display-new image)
wyczyścić obraz na kilka sposobów
(gimp-selection-all image) ; Select everything
Linia 128:
(gimp-selection-none image) ; Select nothing
wybrać kolory
(gimp-palette-set-background (list 255 255 255)) ; białe tło
(gimp-palette-set-foreground (list 0 0 255))
wybrać pędzel
(gimp-brushes-set-brush "Circle (03)")
wyświetlić obraz
(gimp-display-new image)
Linia 152:
===Katalog===
'''Linux'''
~/.gimp-2.8/scripts/
lub ogólniej
~/.gimp-[Numer wersji]/scripts/
albo w katalogu globalnym
/usr/share/gimp/2.0/scripts
'''Windows'''
C:\user\<username>\.gimp-2.8\scripts
Linia 173:
===Tworzenie===
Etapy tworzenia
* utworzenie pliku z rozszerzeniem scm i odpowiednią zawartością
* zapisanie pliku w odpowiednim katalogu
Linia 185:
==== Zawartość skryptu ====
Wzorce skryptu
*[http://www.home.unix-ag.org/simon/files/script-fu-template.scm Wzorzec nr 1 skryptu]
* wzorzec demo.scm
<source lang="scheme">
(define (script-fu-demo image
Linia 208:
Każdy skrypt '''musi zawierać''':<ref>[http://docs.gimp.org/en/gimp-using-script-fu-tutorial-first-script.html Your First Script-Fu Script - gimp docs]</ref>
* definicję głównej funkcji (
* wywołanie 2 funkcji (
Linia 221:
Opis funkcji script-fu-register
<pre>
(script-fu-register name_of_function
Linia 263:
Dodawanie '''pozycji w menu'''
Za pomocą funkcji script-fu-register dodajemy tylko etykietę menu <ref>[http://git.gnome.org/browse/gimp/commit/?id=d4120fe1ab54812a805d920e5c5ca695ab60b956 commit d4120fe1ab54812a805d920e5c5ca695ab60b956
<source lang="scheme">
Linia 290:
</source>
Za pomocą funkcji script-fu-menu-register dodajemy pozycję menu (
* <Image> dla menu lokalnego obrazu (
* <Toolbox>/Xtns/ dla menu głównego
<source lang="scheme">
(script-fu-menu-register "script-fu-xach-effect"
"<Image>/Filters/Light and Shadow/Shadow")
; nowa pozycja w menu głównym (
; script which works on an already existing image
; the script will be available through the gimp menu that is launched by the right mouse button over an image
; Such script must also have as their first and second argument a SF-IMAGE and a SF-DRAWABLE.
</source>
inny przykład
<source lang="scheme">
(script-fu-menu-register "uni-img"
Linia 314:
====Rejestracja skryptu====
* za pomocą menu
* automatycznie przy starcie gimpa
Możemy to sprawdzić za pomocą przeglądarki skryptów wywołanej z menu
====Uruchomienie skryptu====
Skrypt możesz uruchomić
* za pomocą menu głównego lub podręcznego (
* z linii poleceń korzystając z trybu wsadowego gimpa <ref>[http://www.gimp.org/tutorials/Basic_Batch/ Basic Batch at Gimp doc]</ref>
* z innego skryptu<ref>[http://www.netads.com/~meo/gimp/faq-dev.html#sf_what Script-Fu Questions by Miles O'Neal]</ref>
|