Witamy, Gość. Zaloguj się lub zarejestruj.
Czy dotarł do Ciebie email aktywacyjny?


Zaloguj się podając nazwę użytkownika, hasło i długość sesji

Strony: [1]
DrukujPobierz PDF
Autor Wątek: Drydock  (Przeczytany 4084 razy)
0 użytkowników i 1 Gość przegląda ten wątek.
Ziomioslaw
Administrator

Reputacja: 46 Offline Offline

Płeć: Mężczyzna
GIMP: 2.10
JID: ziomioslaw@jabber.org
Licencja: Copyright
Wiadomości: 7 461
Galeria Użytkownika


Cyklista Apokalipsy


Zobacz profil
« : 25.08.2007, 22:49:45 »

O czym to ja... aha - już wiem:
Używanie GIMPa z linii poleceń.

Może zanim przystąpie, to pytanie do czego można tego używać?

Np.: głównie do wywoływania skryptów na obrazkach bez potrzeby uruchamiania całego GIMPa i klikania w nim, a co za tym idzie - wywoływania do masowego przetwarzania obrazków. Ale nie tylko. Czasem mamy problemy z jakimiś dodatkami do GIMPa, wartałoby więc uruchomić go bez ich ładowania, a może poprostu wiemy, że nie będziemy potrzebować pędzli, więc zależy nam, żeby GIMP ich nie uruchamiał.

Czy istnieją łatwiejsze sposoby na masówki?
O masowym przetwarzaniu fotografii bez użycia skryptów poczytać możesz tu:
http://www.gimpuj.info/edycja-fotografii/tutorial-gimp-przetwarzanie-wsadowe-fotografii-t1264.0.html
Opisana tam metoda niestety nie zawsze jest wystarczającą. Autorzy zaimplementowali tam wiele filtrów, ale nie zimplenetowali wszystkich. Nie bardzo można pozwolić sobie na takie akcje jak dodawnie tekstu np. czy reagowania na pewne czynniki.

Czyli jest pięknie?
Wywoływanie skryptów wymaga od nas jednak: tychże skryptów właśnie. Ba! Czasem też będzie trzeba je samemu napisać. No cóż. GIMP udostępnia sporo języków między innymi sławionego Pythona, ale także lubianego przez wszystkich Schema;)

Brrr.... konsola
Nie bójmy się konsoli, po odrobinie wprawy jest bardzo sprawnym narzędziem.
Przyjrzyjmy się więc co GIMP nam oferuje, wpiszmy:

Kod:
gimp --help

Proste, co nie? A co się pokazało; powinno to wyglądać jak poniżej:

Kod:
Użycie:
  gimp [OPCJA...] [PLIK|URI...]

GNU Image Manipulation Program

Opcje pomocy:
  -?, --help                     Wyświetlenie opcji pomocy
  --help-all                     Wyświetlenie wszystkich opcji pomocy
  --help-gtk                     Wyświetla opcje GTK+

Opcje aplikacji:
  -v, --version                  Wyświetla informację o wersji i wychodzi
  --license                      Wyświetla informację o licencji i wychodzi
  --verbose                      Wyświetla dodatkowe informacje
  -n, --new-instance             Uruchamia nowy program GIMP
  -a, --as-new                   Otwiera obraz jako nowy
  -i, --no-interface             Uruchamia bez interfejsu użytkownika
  -d, --no-data                  Nie wczytuje pędzli, gradientów, deseni, ...
  -f, --no-fonts                 Nie wczytuje żadnych czcionek
  -s, --no-splash                Nie wyświetla okna startowego
  --no-shm                       Nie wykorzystuje pamięci dzielonej pomiędzy programem GIMP a wtyczkami
  --no-cpu-accel                 Nie wykorzystuje specjalnych instrukcji procesora przyśpieszających działanie
  --session=<name>               Wykorzystuje alternatywny plik sessionrc
  -g, --gimprc=<filename>        Wykorzystuje alternatywny systemowy plik gimprc
  --system-gimprc=<filename>     Wykorzystuje alternatywny systemowy plik gimprc
  -b, --batch=<command>          Polecenie wsadowe do uruchomienia (może być używane wielokrotnie)
  --batch-interpreter=<proc>     Procedura do polecenia procesu wsadowego z
  -c, --console-messages         Wyświetla ostrzeżenia w konsoli zamiast wyświetlać w oknie dialogowym
  --pdb-compat-mode=<mode>       Tryb kompatybilności PDB (off|on|warn)
  --stack-trace-mode=<mode>      Debuguje w przypadku nieoczekiwanego zamknięcia programu (never|query|always)
  --debug-handlers               Aktywuje obsługę analizowania błędów przy mniej groźnych sygnałach
  --g-fatal-warnings             Traktuje wszystkie ostrzeżenia poważnie
  --dump-gimprc                  Wypisuje plik gimprc z ustawieniami domyślnymi
  --display=EKRAN                Wykorzysywany ekran X

Prześledźmy znaczenie każdej z komend:
Kod:
  -?, --help                     Wyświetlenie opcji pomocy
  --help-all                     Wyświetlenie wszystkich opcji pomocy
  --help-gtk                     Wyświetla opcje GTK+
  -v, --version                  Wyświetla informację o wersji i wychodzi
  --license                      Wyświetla informację o licencji i wychodzi

To już znamy, nie daje w sumie nic nowego. A... teraz, jak ktoś nas zapyta o wersję GIMPa, to już wiecie, jak szybko ją uzyskać, nie uruchamiając całości. Parametr "--help-all" wyświetla dodatkowo też to (oprócz powyższego), co wyświetla się kiedy wklepiemy "--help-gtk". Z kolei parametry dla obsługi GTK+ (przypomnę, to ta biblioteka na której zbudowany jest GIMP, a która stała się podstawą GNOME'a) nie będą nas dziś interesować.

Kod:
  --verbose                Wyświetla komunikaty przy uruchamianiu.

Ten opis oznacza, że GIMP w konsoli będzie wypisywał co dokładnie robi, kiedy się uruchamia. To przydatna opcja, zwłaszcza, jak mamy problemy przy uruchamianiu. Teraz przynajmniej będzie można dowiedzieć się, przy czym owe wystepują.

Kod:
  --no-shm                       Nie wykorzystuje pamięci dzielonej pomiędzy programem GIMP a wtyczkami
  --no-cpu-accel                 Nie wykorzystuje specjalnych instrukcji procesora przyśpieszających działanie

Te parametry mają znacznie głownie dla developerów, lub tych, którzy własnoręcznie kompilowali swojego GIMPa. W razie jakby mieli z nim jakieś problemy, mogą sobie sprawdzić, czy ich źródłem (problemów) nie są nietypowe mechanizmy w kodzie, lub optymalizacje jakie zapewnia dany sprzęt.

Kod:
  -d, --no-data            Nie wczytuje pędzli, gradientów, palet, deseni.
  -f, --no-fonts           Nie ładuje żadnych czcionek.

Tutaj nie trzeba komentarza:)

Kod:
  -s, --no-splash                Nie wyświetla okna startowego

Jeśli nie podoba Ci się obrazek startowy możesz go nie wyświetlać. Inna sprawa, że po uruchomieniu GIMPa przez chwilę "nie będzie nic się działo", tak naprawdę będa się ładowały czcionki, skrypty itp - czyli to pojawiało się nad paskiem postepu na splashscreenie.

Kod:
  -n, --new-instance             Uruchamia nowy program GIMP

Normalnie kiedy otwieramy kolejne obrazki w GIMPie uruchamiane są one nowe okienka już uruchamianego okienka, ten parametr sprawia, że możesz uruchamiać osobne GIMPy.

Kod:
  -a, --as-new                   Otwiera obraz jako nowy

Nie to nie to co wyżej. To ustawienie sprawia, że wczytany obrazek jest traktowany jak nowy, czyli będzie wyświetlany jako "Bez nazwy", a przy wyjściu zostaniem zapytani o to czy zapisać zmiany i gdzie ich dokonać.

Kod:
  -i, --no-interface             Uruchamia bez interfejsu użytkownika

Uruchaminie GIMPa, bez GIMPa - a przynajmniej jego widocznej dla użytkownika części. bardzo przydatne ustawienie, ale dopiero jak nauczymy się wywoływać skrypty.

Kod:
  --session=<name>               Wykorzystuje alternatywny plik sessionrc
  -g, --gimprc=<filename>        Wykorzystuje alternatywny systemowy plik gimprc
  --system-gimprc=<filename>     Wykorzystuje alternatywny systemowy plik gimprc

Do czego służą te opcje to nie jako temat na inny tutorial.

Kod:
  --dump-gimprc                  Wypisuje plik gimprc z ustawieniami domyślnymi

Ten parametr przydaje się każdemu, kto przecholował z edycją pliku gimprc. Jak wyżej:)

Kod:
  -c, --console-messages         Wyświetla ostrzeżenia w konsoli zamiast wyświetlać w oknie dialogowym.

Jeśli ktoś uważa komunikaty o błędach w wyskakujących okienkach za bardzo irytujące, to może użyć tego parametru. Ktoś inny może go użyć, by móc przekleić treść komunikatów z konsoli np.: na forum.

Kod:
  --stack-trace-mode=<mode>      Debuguje w przypadku nieoczekiwanego zamknięcia programu (never|query|always)

Kolejna opcja dla nieco bardziej obeznanych w GIMPie, zwłaszcza od strony kodu programu.

Kod:
  --g-fatal-warnings             Traktuje wszystkie ostrzeżenia poważnie

Coś dla pefekcjonistów; powoduje, że program traktuje ostrzeżenia jako błędy.

Kod:
  --display=EKRAN                Wykorzysywany ekran X

Jeśli nie wiesz z opisu o co chodzi, to znaczy, że nie potrzebujesz tego paramteru.

Kod:
  --pdb-compat-mode=<mode>       Tryb kompatybilności PDB (off|on|warn)



Kod:
;; Przykład skryptu uruchamianego w trybie wsadowym.
;; Można rozwijać i wykorzystywać bez ograniczeń.
;;
;; Public Domain.  No Copyright.
;;

(define (nazwa-skryptu
filename ; nazwa pliku z obrazkiem
)
 (let* (
; Otwarcie obrazka z podanego linku
(image (car (gimp-file-load RUN-NONINTERACTIVE filename filename)))
; Pobranie id warstwy na której będziemy pracować
; (w przypadku png, czy jpg, mamy do czynienia z jedną)
(drawable (car (gimp-image-get-active-layer image)))
 )
; Tu można wstawiać instrukcje do swojego skryptu
;

; Zapis obrazka
(gimp-file-save RUN-NONINTERACTIVE image drawable filename filename)
; Usunięcie pozostałości w pamięci
(gimp-image-delete image)
))

# jak widać temat nie umarł, pomimo, że piszę już go rok:P



(Zen tutorial jest w fazie powstawania)

Zacznijmy od tego, że jest kilka (kilka... Chichot) systemów operycjnych... ja jednak znam 2 na tyle dobrze, żeby o nich pisać.
Są to: Linux ogólnie pojęty i niestety - Windows.

Zaczniemy wiec od uruchominia konsoli:)
W Linuksie zwykle nie ma z tym problemu, zapytajcie mamy jak nie wiecie.
W Windowsie, no cóż, autorzy wyrażnie traktują ją jak zło konieczne... MenuStart->Uruchom i wpisz "cmd" <enter>

Teraz uruchomimy GIMPa z konsoli
W Linuksie: wpisujemy gimp i wciskamy enter
W Windowie: zaczynają się schody...

Kod:
C:\>gimp
Nazwa 'gimp' nie jest rozpoznawana jako polecenie wewnętrzne lub zewnętrzne,
program wykonywalny lub plik wsadowy.

Trzeba temu oczywiście zaradzić, możliwości jest na szczęście kilka:
1) zamiast "gimp" podawać pełną ścieżkę do gimpa - zwykle to jest:
Kod:
c:\Program Files\GIMP-2.0\bin\gimp-2.2.exe
(oczywiście dla wersji 2.2)

Tutaj uwaga - konsola w Windowsie to nie bash - będą problemy ze spacjami w nazwach folderów.
Można im zaradzić stosując nawiasy (")

Kod:
"C:\Program Files\GIMP-2.0\bin\gimp-2.2.exe"

Powinien się uruchomić GIMP - niestety być może stwierdzi on, że brakuje mu jakiś bibliotek...

2) zmiana zmiana zmiennych środowiskowych.
Wpisz w konsoli PATH, wypiszą się ścieżki pod jakimi Windows szuka w śród nazwa programów i skryptów które się w nich znajdują tego co właśnie wpisałeś do konsoli.

Przykład:
Kod:
C:\>PATH
PATH=C:\Python24\.;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Common Files\GTK\2.0\bin

Dodajmy wiec ścieżkę do GIMPa do tej zmiennej:

Kod:
C:\>set PATH=%PATH%;"C:\Program Files\GIMP-2.0\bin"

C:\>PATH
PATH=C:\Python24\.;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Common Files\GTK\2.0\bin;"C:\Program Files\GIMP-2.0\bin"

Krótkie wyjaśnienie:
SET - to komenda modyfikująca czy dodająca zmienne powłoki. W jej pierwszym parametrze wstawiamy nazwę zmiennej, potem znak równości (=), a potem, to co przypisujemy do owej zmiennej. A jeszcze jedno - tam nie ma spacji miedzy nazwą zmiennej a znakiem równości i nowej wartości zmiennej.

Czemu jest PATH=%PATH%? Ano, dzięki temu dopisujemy do zmiennej PATH, zamiast ją zastępować. Te znaki procentu otaczające nazwę zmienną informują powłokę, że w to miejsce ma zostać zastąpione przez zawartość zmiennej, bez tych procentów byłby to ciąg znaczków "PATH".

I jeszcze jedno - jeśli teraz wyłączysz konsolę, włączysz ponownie i wpiszesz PATH nie zobaczysz tej ścieżki którą wprowadziliśmy wspólnymi siłami. Oczywiście można ją wstawić na stałe, ale o tym później, ja tu wskazuje na co innego: jak się pomylisz, to nic wielkiego się nie stanie - po prostu zrestartujesz konsolę.

Kod:
Użycie: gimp [opcja ...] [plik ...]

Opcje:
  -h, --help               Wypisuje tę pomoc.
  -v, --version            Wypisuje informację o wersji.
  --verbose                Wyświetla komunikaty przy uruchamianiu.
  --no-shm                 Nie wykorzystuje pamięci dzielonej pomiędzy programem GIMP a wtyczkami.
  --no-cpu-accel           Nie wykorzystuje specjalnych instrukcji procesora przyśpieszających działanie.
  -d, --no-data            Nie wczytuje pędzli, gradientów, palet, deseni.
  -f, --no-fonts           Nie ładuje żadnych czcionek.
  -i, --no-interface       Uruchamia bez interfejsu użytkownika.
  --display <display>      Wykorzystuje podany ekran X.
  -s, --no-splash          Nie wyświetla okna startowego.
  --session <nazwa>        Wykorzystuje alternatywny plik sessionrc.
  -g --gimprc <gimprc>     Wykorzystuje alternatywny plik konfiguracji gimprc.
  --system-gimprc <gimprc> Wykorzystuje alternatywny systemowy plik gimprc.
  --dump-gimprc            Wypisuje plik gimprc z ustawieniami domyślnymi.
  -c, --console-messages   Wypisuje ostrzeżenia na konsolę zamiast wyświetlania w oknie dialogowym.
  --debug-handlers         Aktywuje obsługę analizowania błędów przy mniej groźnych sygnałach.
  --stack-trace-mode <never | query | always>
                           Wyświetlenie stosu wywołań funkcji po otrzymaniu poważnego sygnału (nigdy | pytanie |zawsze).
  --pdb-compat-mode <off | on | warn>
                           Tryb zgodności bazy danych procedur (wyłączony | włączony | ostrzeżenia).
  --batch-interpreter <procedura>
                           Procedura użyta do przetworzenia poleceń wsadowych.
  -b, --batch <polecenia>  Wykonuje polecenia w trybie wsadowym.

http://www.goof.com/pcg/marc/pdb/index.html
« Ostatnia zmiana: 10.09.2008, 20:53:50 wysłane przez Ziomioslaw » Zapisane
Calii
√ ι ק

Reputacja: 21 Offline Offline

GIMP: 2.10 + GAP
Licencja: Copyright
Wiadomości: 1 092
Galeria Użytkownika



Zobacz profil
« Odpowiedz #1 : 09.06.2008, 22:27:07 »

Ziomoslaw odkopuje dla Ciebie ten temat Chichot z sentymentem spojrz na niego i pomysl o kontynuacji po sesji Chichot
Zapisane
Ziomioslaw
Administrator

Reputacja: 46 Offline Offline

Płeć: Mężczyzna
GIMP: 2.10
JID: ziomioslaw@jabber.org
Licencja: Copyright
Wiadomości: 7 461
Galeria Użytkownika


Cyklista Apokalipsy


Zobacz profil
« Odpowiedz #2 : 12.06.2008, 21:11:18 »

Pamiętam, pamiętam - nie bój się.
Jakiej sesji?
Zapisane
Calii
√ ι ק

Reputacja: 21 Offline Offline

GIMP: 2.10 + GAP
Licencja: Copyright
Wiadomości: 1 092
Galeria Użytkownika



Zobacz profil
« Odpowiedz #3 : 12.06.2008, 21:23:12 »

sesji mojej Uśmiech wtedy juz odbierzesz swiadectwo Uśmiech bedzie pasek?
no bo inaczej nie dostaniesz bombonierki :p
Zapisane
Strony: [1]
DrukujPobierz PDF
Polskie Forum Użytkowników GIMP-aHyde zoneHyde parkTestWątek: Drydock
Skocz do: