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: [ROZ] Rozbudowa skryptu - save-layers-to-images  (Przeczytany 3558 razy)
0 użytkowników i 1 Gość przegląda ten wątek.
gacek56
Użytkownik

Reputacja: 2 Offline Offline

Płeć: Mężczyzna
GIMP: 2.4
Licencja: Copyright
Wiadomości: 17
Galeria Użytkownika



Zobacz profil
« : 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
« Ostatnia zmiana: 16.10.2009, 12:23:17 wysłane przez gacek56 » Zapisane
Ziomioslaw
Administrator

Reputacja: 46 Offline Offline

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


Cyklista Apokalipsy


Zobacz profil
« Odpowiedz #1 : 13.10.2009, 16:30:38 »

Zacznijmy od tego, że to co przerabiasz to skrypt, nie "wtyczka", widzę, że traktujesz to jako synonim, co nie jest do końca prawdą.

Ale do rzeczy. Uprościłem sobie Twój skrypt i wydaje się działać:
Kod:
(define (script-fu-save-layers-to-images image save-type jpg-comp png-comp dont-ask display-images backgnd backgnd-id thumbimg thumbnails twidth theight canvas)
(let* (
(new-name (string-append thumbnails "/" "TEST"))
)
(gimp-message new-name)
)
)

(script-fu-register "script-fu-save-layers-to-images"
_"Save all layers to images."
_"Save all layers to images"
"Piotr Gecow (gacek56@tlen.pl)"
"Piotr Gecow"
"2009-10-10"
""
SF-IMAGE "Foto" 1 ;;image
SF-OPTION "Saved File Type" '("JPG" "PNG") ;;save-type
SF-ADJUSTMENT "JPEG Compression (0--100%)" '(75 0 100 1 5 0 0) ;;jpg-comp
SF-ADJUSTMENT "PNG Compression (0--9)" '(9 0 9 1 10 0 0) ;;png-comp
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
SF-TOGGLE "Make thumbs" TRUE ;;thumbimg
SF-STRING "Thumbnails path" "Thumbnails" ;;thumbnails
SF-VALUE _"Width px" "600" ;;twidth
SF-VALUE _"Height px" "600" ;;theight
SF-TOGGLE "Canvas?" TRUE) ;;canvas

(script-fu-menu-register "script-fu-save-layers-to-images"
_"<Image>/Script-Gacek/")

Dostajesz błąd "illegal function"?
Może to kwestia parametrów, zamiast stringów, posyłasz tam listy, nie przyglądałem się temu za dobrze, bo trochę to złożone jest, ale proponuje wyświetlać sobie - choćby w gimp-message - co posyłane jest do tej funkcji.
Zapisane
gacek56
Użytkownik

Reputacja: 2 Offline Offline

Płeć: Mężczyzna
GIMP: 2.4
Licencja: Copyright
Wiadomości: 17
Galeria Użytkownika



Zobacz profil
« Odpowiedz #2 : 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
Zapisane
Ziomioslaw
Administrator

Reputacja: 46 Offline Offline

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


Cyklista Apokalipsy


Zobacz profil
« Odpowiedz #3 : 13.10.2009, 23:24:52 »

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.

Mogę tylko podejrzewać, że nie odświeżyłeś skryptów Script-Fu w GIMPie i wciąż testowałeś starą wersję, zdarza mi się czasem.
Zapisane
gacek56
Użytkownik

Reputacja: 2 Offline Offline

Płeć: Mężczyzna
GIMP: 2.4
Licencja: Copyright
Wiadomości: 17
Galeria Użytkownika



Zobacz profil
« Odpowiedz #4 : 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..
Zapisane
Strony: [1]
DrukujPobierz PDF
Polskie Forum Użytkowników GIMP-aHyde zoneArchiwum[Archiwum] Pomocna dłoń - GIMPWątek: [ROZ] Rozbudowa skryptu - save-layers-to-images
Skocz do: