Polskie Forum Użytkowników GIMP-a

Hyde zone => [Archiwum] Pomocna dłoń - GIMP => Wątek zaczęty przez: gacek56 on 13.10.2009, 15:09:01



Tytuł: [ROZ] Rozbudowa skryptu - save-layers-to-images
Wiadomość wysłana przez: gacek56 on 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 (http://www.gimpuj.info/index.php/board,39.0.html)
LINK do tematu ze skryptem: Skrypt (http://www.gimpuj.info/index.php/topic,34880.0.html)


Tytuł: Odp: Rozbudowa wtyczki - błąd w składni. nie rozumiem czemu
Wiadomość wysłana przez: Ziomioslaw on 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.


Tytuł: Odp: Rozbudowa wtyczki - błąd w składni. nie rozumiem czemu
Wiadomość wysłana przez: gacek56 on 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) :D


Tytuł: Odp: [ROZ] Rozbudowa skryptu - save-layers-to-images
Wiadomość wysłana przez: Ziomioslaw on 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.


Tytuł: Odp: [ROZ] Rozbudowa skryptu - save-layers-to-images
Wiadomość wysłana przez: gacek56 on 16.10.2009, 12:29:23
Skończyłem przebudowę swoich skryptów.
Skrypty w dziale Pluginy i Script-Fu (http://www.gimpuj.info/index.php/board,39.0.html)

Ustaw wszystkie warstwy widoczne / niewidoczne (http://www.gimpuj.info/index.php/topic,34881.0.html)
Zapis warstw do plików z możliwością stworzenia miniatur (http://www.gimpuj.info/index.php/topic,34880.0.html)
Zapis warstw do plików z możliwością zmiany wymiarów (http://www.gimpuj.info/index.php/topic,34877.0.html)
Zapis warstw do plików PNG (script-fu-save-layers-to-PNG) (http://www.gimpuj.info/index.php/topic,34874.0.html)

Miłego testowania i używania..