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

  Pokaż wiadomości
Strony: [1]
1  Dodatki / Pluginy i Script-Fu / Odp: Zapis warstw do plików z możliwością stworzenia miniatur : 03.02.2010, 20:38:07
Ja to robię tak:
Otwieram plik gimpa w jakimś folderze.
Następnie zapuszczam skrypt. Wszystkie pliki wynikowe (prócz miniatur) zapisują mi się w tym samym folderze co plik gimpa. Nigdy mi nie zrobiło błędu.
2  Dodatki / Pluginy i Script-Fu / Odp: Ustaw wszystkie warstwy widoczne / niewidoczne : 16.10.2009, 12:32:40
Tak też można:) Lecz gdy mamy dużo warstw, które nie mieszczą się na widocznej liście to trwa to o wiele dłużej. Tak mam wygodniej i szybciej.
3  Hyde zone / [Archiwum] Pomocna dłoń - GIMP / Odp: [ROZ] Rozbudowa skryptu - save-layers-to-images : 16.10.2009, 12:29:23
Skończyłem przebudowę swoich skryptów.
Skrypty w dziale Pluginy i Script-Fu

Ustaw wszystkie warstwy widoczne / niewidoczne
Zapis warstw do plików z możliwością stworzenia miniatur
Zapis warstw do plików z możliwością zmiany wymiarów
Zapis warstw do plików PNG (script-fu-save-layers-to-PNG)

Miłego testowania i używania..
4  Dodatki / Pluginy i Script-Fu / Ustaw wszystkie warstwy widoczne / niewidoczne : 16.10.2009, 12:12:49
Instalacja:
Ściągamy i umieszczamy w: ...\GIMP-2.0\share\gimp\2.0\scripts\

Lokalizacja:
Menu/Script-Gacek/Set all layers visible.
Menu/Script-Gacek/Set all layers unvisible.

Opis:
Skrypty umożliwiają ustawienie wszystkich warstw jako widoczne lub niewidoczne.
5  Dodatki / Pluginy i Script-Fu / Zapis warstw do plików z możliwością stworzenia miniatur : 16.10.2009, 12:03:58
Instalacja:
Ściągamy i umieszczamy w: ...\GIMP-2.0\share\gimp\2.0\scripts\

Lokalizacja:
Menu/Script-Gacek/Save layers to images and thumbs.

Opis:
Skrypt zapisuje wszystkie warstwy do osobnych plików JPG lub PNG.
- Można zmienić rozmiar docelowych miniaturek.
- Można określić katalog wewnętrzny dla miniatur
- Można określić 1 warstwę jako tło pozostałych przy zapisie.
- Można zapisać pliki w formie canvas

Saved File Type: wybór typu pliku JPG/PNG
JPEG Compression: globalne ustawienie kompresji przy zapisie do JPG
PNG Compression (0--9): globalne ustawienie kompresji przy zapisie do PNG
Don't ask all the time: pozwala wyłączyć okno ustawień wyświetlane podczas zapisywania plików
Display image in GIMP?: pozwala otworzyć warstwy w nowych oknach
Save with background?: włączenie/wyłączenie zapisu z tłem
Background: określenie, która warstwa ma być tłem
Make thumbs: Możliwość określenia czy chcemy miniaturki wraz z metodą ich stworzenia
Thumbnails path: Określenie wewnętrznego katalogu dla miniaturek. Np. jeśli image zapisujemy w katalogu C:\ i wpiszemy tu "THUMBS" to minaturki zapiszą się w C:\THUMBS\ (UWAGA! katalog wcześniej trzeba stworzyć na dysku samemu)
Width px: określenie szerokości
Height px: określenie wysokości
Canvas?: możliwość zapisu canvas (tworzy z prostokątnych zdjęć kwadratowe nie zmieniając proporcji samego obrazka)
6  Dodatki / Pluginy i Script-Fu / Zapis warstw do plików z możliwością zmiany wymiarów : 16.10.2009, 11:49:35
Instalacja:
Ściągamy i umieszczamy w: ...\GIMP-2.0\share\gimp\2.0\scripts\

Lokalizacja:
Menu/Script-Gacek/Save layers to images and resize.

Opis:
Skrypt zapisuje wszystkie warstwy do osobnych plików JPG lub PNG.
- Można zmienić rozmiar docelowych plików.
- Można określić 1 warstwę jako tło pozostałych przy zapisie.
- Można zapisać pliki w formie canvas

Saved File Type: wybór typu pliku JPG/PNG
JPEG Compression: globalne ustawienie kompresji przy zapisie do JPG
PNG Compression (0--9): globalne ustawienie kompresji przy zapisie do PNG
Don't ask all the time: pozwala wyłączyć okno ustawień wyświetlane podczas zapisywania plików
Display image in GIMP?: pozwala otworzyć warstwy w nowych oknach
Save with background?: włączenie/wyłączenie zapisu z tłem
Background: określenie, która warstwa ma być tłem
Resize?: wybór metody zmiany wymiarów
Width px: określenie szerokości
Height px: określenie wysokości
Canvas?: możliwość zapisu canvas (tworzy z prostokątnych zdjęć kwadratowe nie zmieniając proporcji samego obrazka)
7  Dodatki / Pluginy i Script-Fu / Zapis warstw do plików PNG (script-fu-save-layers-to-PNG) : 16.10.2009, 11:36:39
Instalacja:
Ściągamy i umieszczamy w: ...\GIMP-2.0\share\gimp\2.0\scripts\

Lokalizacja:
Menu/Script-Gacek/Save all layers to PNG.

Opis:
Skrypt zapisuje wszystkie warstwy do osobnych plików PNG.
Można określić 1 warstwę jako tło pozostałych przy zapisie.

PNG Compression (0--9): globalne ustawienie kompresji przy zapisie do PNG
Don't ask all the time: pozwala wyłączyć okno ustawień wyświetlane podczas zapisywania plików
Display image in GIMP?: pozwala otworzyć warstwy w nowych oknach
Save with background?: włączenie/wyłączenie zapisu z tłem
Background: określenie, która warstwa ma być tłem
8  Hyde zone / [Archiwum] Pomocna dłoń - GIMP / Odp: Rozbudowa wtyczki - błąd w składni. nie rozumiem czemu : 13.10.2009, 18:14:47
Właśnie starałem się by nie uzywać klejny raz let*.. bo musiałbym w nią władować dalszą część kodu a tego nie chciałem. Nie mniej wyszedłem z domu na spacer i gdy wróciłem ponownie spróbowałem użyć polecenia set!.
Kod:
	(set! new-name (string-append thumbnails "\\" new-name))
Ku memu zaskoczeniu zadziałało prawidłowo. Piszę zaskoczeniu bo próbowałem tego poprzednio i za chiny nie szło. why?
Zatem działa. Doszlifuję resztę i niebawem skrypt zagości w końcowym poście jaki i w odpowiednim dziale.

Dzięki za pomoc.

PS. Z tą "wtyczką" się faktycznie rozpędziłem. To trochę z przyzwyczajenia z innego forum (AQQ) Chichot
9  Hyde zone / [Archiwum] Pomocna dłoń - GIMP / [ROZ] Rozbudowa skryptu - save-layers-to-images : 13.10.2009, 15:09:01
Witam
Rozbudowałem swoją wtyczkę dodając potrzebne mi elementy. Teraz okazało się, że potrzebowałem ją jeszcze bardziej zmodyfikować i mam problem ze składnią. Wywala mi błąd dla składni:
(new-name (string-append thumbnails "\\" new-name))
Co tu robię nie tak?
thumbnails jest stringiem deklarowanym w menu wtyczki. (nazwa katalogu) np: Miniaturki
new-name jest nazwą jaką ma mieć plik

Skrypt zapisuje mi każdą warstwę jako osobny plik. Potrzebuję obecnie dodatkowo stworzyć dodatkowe pliki miniaturek w dodatkowym katalogu. Dlatego potrzebuję zmienić ten fragment.

Kod:
			(gimp-message "make new name")
(new-name (string-append thumbnails "\\" new-name))
(gimp-message "make new name good")

EDIT:
Skrypt w dziale Pluginy i Script-Fu
LINK do tematu ze skryptem: Skrypt
10  Hyde zone / [Archiwum] Pomocna dłoń - GIMP / [ROZ] Zapis warstw do plików PNG : 05.03.2009, 00:33:17
Musiałeś coś źle skopiować. U mnie nie ma błędów.
Przy okazji sprawdzania wprowadziłem do skryptu wyłączenie wszystkich warstw przed zapisem by nie robić tego ręcznie. Oto najnowsza wersja skryptu:
Kod:
(define (script-fu-save-layers-to-files image dont-ask display-images backgnd backgnd-id)
(let (
(filename (car (gimp-image-get-filename image)))
)
(set! filename (strbreakup filename "."))
(begin
(if
(or
(= (strcmp (car (last filename)) "bz2") 0)
(= (strcmp (car (last filename)) "gz") 0)
)
(set! filename (butlast filename))
)
(set! filename (unbreakupstr (butlast filename) "."))
)

    (when (string=? filename "")
        (set! filename  (string-append
        (car (gimp-temp-name ""))
        (car (gimp-image-get-name image))
)
)
)


(let loop (
(layers2 (vector->list (cadr (gimp-image-get-layers image))))
)
(unless (null? layers2)
(gimp-drawable-set-visible (car layers2) FALSE)
(loop (cdr layers2))
)
)


(let loop (
(layers (vector->list (cadr (gimp-image-get-layers image))))
(bufferName "")
)

(unless (null? layers)

(gimp-drawable-set-visible (car layers) TRUE)

(if (= backgnd TRUE)
(gimp-drawable-set-visible backgnd-id TRUE)
)

(set! bufferName (car (gimp-edit-named-copy-visible image "export-selection_temp_buffer")))

(gimp-drawable-set-visible (car layers) FALSE)

(let* (
(img (car (gimp-edit-named-paste-as-new bufferName)))
(layer-name (car (gimp-drawable-get-name (car layers))))
(new-name (string-append
filename
"_"
layer-name
".png"))
)

(gimp-image-set-filename img layer-name)

(if (= backgnd TRUE)
(if (not (= (car layers) backgnd-id))
(file-png-save2 dont-ask
img
(car (gimp-image-get-active-layer img))
new-name
new-name
TRUE 9 FALSE TRUE FALSE FALSE TRUE FALSE TRUE)
)
)
(if (= backgnd TRUE)
(if (not (= (car layers) backgnd-id))
(if (= display-images FALSE)
(gimp-image-delete img)
(gimp-display-new img)
)
)
)

(if (= backgnd FALSE)
(file-png-save dont-ask
img
(aref (cadr (gimp-image-get-layers img)) 0)
new-name
new-name
TRUE 9 FALSE TRUE FALSE FALSE TRUE)
)

(if (= backgnd FALSE)
(if (= display-images FALSE)
(gimp-image-delete img)
(gimp-display-new img)
)
)


)
(loop (cdr layers)())
))
)
)

(script-fu-register "script-fu-save-layers-to-files"
_"Save all layers to PNG."
_"Save all layers to PNG"
"Piotr Gecow (gacek56@tlen.pl)"
"Piotr Gecow"
"2009-03-02"
""
SF-IMAGE "Obazek" 1 ;;image
SF-TOGGLE _"Don't ask all the time" TRUE ;;dont-ask
SF-TOGGLE _"Display image in GIMP?" FALSE ;;display-images
SF-TOGGLE _"Save with background?" FALSE ;;backgnd
SF-LAYER _"Background" TRUE) ;;backgnd-id

(script-fu-menu-register "script-fu-save-layers-to-files"
_"<Image>/Script-Gacek/Zapis")
11  Hyde zone / [Archiwum] Pomocna dłoń - GIMP / [ROZ] Zapis warstw do plików PNG : 25.02.2009, 17:00:07
EDIT: posty w wątku zostały skasowane. Zostawiam ogólny problem jak i jego rozwiązanie.

Witam. Na podstawie różnych skryptów skleciłem skrypt zapisujący warstwy do plików png.
Schemat działania:
warstwa1= NazwaPliku_NazwaWarstwy1.png
warstwa2= NazwaPliku_NazwaWarstwy2.png
warstwa3= NazwaPliku_NazwaWarstwy3.png..itd

Problem polegał na tym, że chciałem uzyskać możliwość zapisania warstw z tłem, którym była jedna z warstw.
Wymagało to przebudowania skryptu tak by widoczne warstwy trafiały do bufora. (przedtem skrypt działał na warstwach w pętli w inny sposób). Z niego następnie idą do zapisu.

Obecny schemat działania umożliwia dodatkowo:
warstwa1+tło= NazwaPliku_NazwaWarstwy1.png
warstwa2+tło= NazwaPliku_NazwaWarstwy2.png
warstwa3+tło= NazwaPliku_NazwaWarstwy3.png..itd

Kod działającego skryptu. Może komuś się przyda:
Kod:
(define (script-fu-save-layers-to-files image dont-ask display-images backgnd backgnd-id)
(let (
(filename (car (gimp-image-get-filename image)))
)
(set! filename (strbreakup filename "."))
(begin
(if
(or
(= (strcmp (car (last filename)) "bz2") 0)
(= (strcmp (car (last filename)) "gz") 0)
)
(set! filename (butlast filename))
)
(set! filename (unbreakupstr (butlast filename) "."))
)

    (when (string=? filename "")
        (set! filename  (string-append
        (car (gimp-temp-name ""))
        (car (gimp-image-get-name image))
)
)
)

(let loop (
(layers (vector->list (cadr (gimp-image-get-layers image))))
(bufferName "")
)

(unless (null? layers)

(gimp-drawable-set-visible (car layers) TRUE)

(if (= backgnd TRUE)
(gimp-drawable-set-visible backgnd-id TRUE)
)

(set! bufferName (car (gimp-edit-named-copy-visible image "export-selection_temp_buffer")))

(gimp-drawable-set-visible (car layers) FALSE)

(let* (
(img (car (gimp-edit-named-paste-as-new bufferName)))
(layer-name (car (gimp-drawable-get-name (car layers))))
(new-name (string-append
filename
"_"
layer-name
".png"))
)

(gimp-image-set-filename img layer-name)

(if (= backgnd TRUE)
(if (not (= (car layers) backgnd-id))
(file-png-save2 dont-ask
img
(car (gimp-image-get-active-layer img))
new-name
new-name
TRUE 9 FALSE TRUE FALSE FALSE TRUE FALSE TRUE)
)
)
(if (= backgnd TRUE)
(if (not (= (car layers) backgnd-id))
(if (= display-images FALSE)
(gimp-image-delete img)
(gimp-display-new img)
)
)
)

(if (= backgnd FALSE)
(file-png-save dont-ask
img
(aref (cadr (gimp-image-get-layers img)) 0)
new-name
new-name
TRUE 9 FALSE TRUE FALSE FALSE TRUE)
)

(if (= backgnd FALSE)
(if (= display-images FALSE)
(gimp-image-delete img)
(gimp-display-new img)
)
)


)
(loop (cdr layers)())
))
)
)

(script-fu-register "script-fu-save-layers-to-files"
_"Save all layers to PNG."
_"Save all layers to PNG"
"Piotr Gecow (gacek56@tlen.pl)"
"Piotr Gecow"
"2009-03-02"
""
SF-IMAGE "Obazek" 1 ;;image
SF-TOGGLE _"Don't ask all the time" TRUE ;;dont-ask
SF-TOGGLE _"Display image in GIMP?" FALSE ;;display-images
SF-TOGGLE _"Save with background?" FALSE ;;backgnd
SF-LAYER _"Background" TRUE) ;;backgnd-id

(script-fu-menu-register "script-fu-save-layers-to-files"
_"<Image>/Script-Gacek/Zapis")
12  Hyde zone / [Archiwum] Pomocna dłoń - GIMP / [ROZ] Skrypt - Problem z instrukcją if (słowo1 słowo2) : 23.02.2009, 16:23:47
Witam.
Tego problemu jeszcze nie miałem w żadnym innym języku.
Mianowicie. Piszę wtyczkę i wszystko działało mi dobrze do czasu gdy chciałem ją rozbudować. Nie ważne co robi całość.
Jeden z elementów ma działać następująco: if [nazwa warstwy "tlok" (określona w menu wtyczki) = nazwa warstwy] then ()
Wysypuję się na tym gdyż cały czas dostaję info, że warunek if musi pracować na liczbach.. a ja potrzebuje na słowie. Jak to powinno prawidłowo wyglądać?

Nazwę obecnie obrabianej warstwy mam określoną tak:
Kod:
(layer-name (car (gimp-drawable-get-name (car layers))))

Warunek ma być mniej więcej taki.. i tu pytanie jak to zbudować:
Kod:
	(if (= layer-name nazwa-tlo) 
(gimp-message "TeSt")
)

Rejestr:
Kod:
	SF-STRING _"Nazwa warstwy tla" "Tlok") ;;nazwa-tlo

[EDIT]
Problem rozwiązany. Powinno być tak:
Kod:
	(if ( string=? layer-name nazwa-tlo) 
(gimp-message "TeSt")
)
Strony: [1]