DekoGlas
Nowicjusz
Reputacja: 0
Offline
GIMP: GIMP Painter 2.8
Licencja: Copyright
Wiadomości: 10 Galeria Użytkownika
|
|
« : 04.09.2016, 16:29:35 » |
|
Dzień dobry,
mam 900 plików png o rozmiarze 200 px x 200 px. Mam też jeden plik o wymiarach 1000 px x 1000 px, który ma służyć jako tło dla tych PNG. Szukam funkcji batchowej podobnej do dodawania znaku wodnego, tyle że swój plik chcę podłożyc pod obrazki, a nie na nie nałożyć.
Grzebałem dziś w BIMPie, ale nie udało mi się niczego wykombinować. Czy ktoś wie, jak sobie poradzić z problemem? Nie dysponuję Photoshopem, pracuję na darmowym oprogramowaniu.
|
|
« Ostatnia zmiana: 14.09.2016, 21:15:54 wysłane przez be@ »
|
Zapisane
|
|
|
|
be@
Moderator globalny
Reputacja: 49
Offline
Płeć:
GIMP: 2.8
Licencja: CC-BY
Wiadomości: 7 405 Galeria Użytkownika
|
|
« Odpowiedz #1 : 04.09.2016, 16:34:43 » |
|
|
|
|
Zapisane
|
|
|
|
DekoGlas
Nowicjusz
Reputacja: 0
Offline
GIMP: GIMP Painter 2.8
Licencja: Copyright
Wiadomości: 10 Galeria Użytkownika
|
|
« Odpowiedz #2 : 04.09.2016, 16:50:36 » |
|
Be@, dziękuję za szybką odpowiedź, ale to chyba nie na moje pytanie.
Mam 900 odrębnych plików PNG, a nie 900 warstw, z których chcę zrobić pliki.
|
|
|
Zapisane
|
|
|
|
be@
Moderator globalny
Reputacja: 49
Offline
Płeć:
GIMP: 2.8
Licencja: CC-BY
Wiadomości: 7 405 Galeria Użytkownika
|
|
« Odpowiedz #3 : 04.09.2016, 16:58:46 » |
|
A jaki to problem otworzyć wszystkie te pliki jako warstwy, podłożyć tło skryptem z pierwszego odnośnika i wyeksportować każdą warstwę do osobnego pliku za pomocą tego drugiego skryptu?
|
|
|
Zapisane
|
|
|
|
Hasia
Moderator globalny
Reputacja: 39
Offline
Płeć:
GIMP: 2.10
Licencja: Copyright
Wiadomości: 1 495 Galeria Użytkownika
Czasami nie jestem sobą
|
|
« Odpowiedz #4 : 04.09.2016, 16:59:04 » |
|
Jeśli otworzysz ten plik png i te 900 jako warstwy i użyjesz najpierw skryptu do łączenia warstw a później do eksportu warstw jako oddzielne pliki, wtedy powinieneś otrzymać to o czym mówisz. Jedyne czym martwiłabym się, to to czy GIMP pociągnie obraz, który ma 900 warstw, dlatego radziłabym otwierać je tak mniej więcej po 100.
|
|
|
Zapisane
|
★
|
|
|
DekoGlas
Nowicjusz
Reputacja: 0
Offline
GIMP: GIMP Painter 2.8
Licencja: Copyright
Wiadomości: 10 Galeria Użytkownika
|
|
« Odpowiedz #5 : 04.09.2016, 19:05:35 » |
|
Dziękuję! Udało się. Do wyżej wymienionych skryptów dociągnałem jeszcze sg-dissolve-group.scm ( https://www.gimpuj.info/index.php/topic,62176.msg287065.html#msg287065 ) dla rozgrupowania warstw. Musiałem wcześniej pogrupować tych 1600 (!) warstw, żeby je wspólnie za jednym razem przesunąć w kadrze (nie chciałem ich po środku tła). Udało się za jednym zamachem wtopić 1600 (a nie 900, jak błędnie podałem) obrazków w tło. Zajęło to godzinę, wykorzystałem 6 GB z dostępnych 8 GB pamięci i 60 % procesora, ale efekt jest rewelacyjny. Ślicznie Wam dziękuję za podpowiedź.
|
|
|
Zapisane
|
|
|
|
be@
Moderator globalny
Reputacja: 49
Offline
Płeć:
GIMP: 2.8
Licencja: CC-BY
Wiadomości: 7 405 Galeria Użytkownika
|
|
« Odpowiedz #6 : 04.09.2016, 19:12:51 » |
|
Grupowanie nie było konieczne. Wystarczyło w oknie warstw kliknąć w ikonę łańcucha z wciśniętym SHIFT-em, aby połączyć wszystkie warstwy. Tak połączone można przesuwać.
|
|
|
Zapisane
|
|
|
|
DekoGlas
Nowicjusz
Reputacja: 0
Offline
GIMP: GIMP Painter 2.8
Licencja: Copyright
Wiadomości: 10 Galeria Użytkownika
|
|
« Odpowiedz #7 : 12.07.2017, 19:45:57 » |
|
Chętnie zamówię skrypt wsadowy, który będzie to robił automatycznie.
|
|
|
Zapisane
|
|
|
|
be@
Moderator globalny
Reputacja: 49
Offline
Płeć:
GIMP: 2.8
Licencja: CC-BY
Wiadomości: 7 405 Galeria Użytkownika
|
|
« Odpowiedz #8 : 13.07.2017, 10:43:16 » |
|
Czyli chcesz skrypt, który będzie otwierać tło, następnie otwierać zdjęcie jako warstwę i ustawiać ją w określonym położeniu, po czym eksportować do PNG, usuwać warstwę ze zdjęciem i otwierać następną fotkę, ustawiać w wybranym miejscu, eksportować itd.?
|
|
|
Zapisane
|
|
|
|
DekoGlas
Nowicjusz
Reputacja: 0
Offline
GIMP: GIMP Painter 2.8
Licencja: Copyright
Wiadomości: 10 Galeria Użytkownika
|
|
« Odpowiedz #9 : 14.07.2017, 07:23:59 » |
|
Mniej więcej. Uszczegółowię.
Skrypt, który: 1. otwiera tło (np. background.jpg; np. 1500 x 1500 px), 2. otwiera wcześniej przygotowane zdjęcie PNG (np. 0001.png z zachowanym kawałkiem przezroczystości dlatego png; np. 500 x 500 px) jako warstwę widoczną nad tłem, 3. ustawia ją w określonym położeniu, 4. łączy obie warstwy, po czym eksport do JPG z nazwą 0001.jpg (a nie z nazwą tła), 5. usuwa warstwę ze zdjęciem i otwiera następną fotkę (0002.png), ... i jak wyżej nawet dla kilku tysięcy zdjęć.
|
|
|
Zapisane
|
|
|
|
be@
Moderator globalny
Reputacja: 49
Offline
Płeć:
GIMP: 2.8
Licencja: CC-BY
Wiadomości: 7 405 Galeria Użytkownika
|
|
« Odpowiedz #10 : 14.07.2017, 08:18:06 » |
|
Nie można usunąć warstwy po jej połączeniu z tłem. Trzeba by się cofać w historii. Poza tym po co chcesz łączyć obie warstwy? Przecież to nie robi żadnej różnicy. Bez względu na to, czy warstwy zostaną połączone czy nie, po wyeksportowaniu do JPG obraz będzie wyglądać tak samo, więc jest to krok całkowicie zbędny.
|
|
|
Zapisane
|
|
|
|
DekoGlas
Nowicjusz
Reputacja: 0
Offline
GIMP: GIMP Painter 2.8
Licencja: Copyright
Wiadomości: 10 Galeria Użytkownika
|
|
« Odpowiedz #11 : 14.07.2017, 12:17:49 » |
|
Jeśli po eksporcie będą połączone, to wystarczy. Teraz kwestia ceny. :-)
|
|
|
Zapisane
|
|
|
|
be@
Moderator globalny
Reputacja: 49
Offline
Płeć:
GIMP: 2.8
Licencja: CC-BY
Wiadomości: 7 405 Galeria Użytkownika
|
|
« Odpowiedz #12 : 14.07.2017, 12:32:08 » |
|
A to już musisz z Ziomioslawem gadać, bo to on pisze skrypty W każdym razie potrzebne są jeszcze współrzędne położenia tego zdjęcia, skoro ma zostać umieszczone w wybranym miejscu, a nie jest to środek obrazu.
|
|
|
Zapisane
|
|
|
|
Ziomioslaw
Administrator
Reputacja: 46
Offline
Płeć:
GIMP: 2.10
JID: ziomioslaw@jabber.org
Licencja: Copyright
Wiadomości: 7 433 Galeria Użytkownika
Cyklista Apokalipsy
|
|
« Odpowiedz #13 : 14.07.2017, 14:13:59 » |
|
Co właściwie znaczy "3. ustawia ją w określonym położeniu"? czy chodzi o jakieś stałe wartości?
|
|
|
Zapisane
|
|
|
|
Ziomioslaw
Administrator
Reputacja: 46
Offline
Płeć:
GIMP: 2.10
JID: ziomioslaw@jabber.org
Licencja: Copyright
Wiadomości: 7 433 Galeria Użytkownika
Cyklista Apokalipsy
|
|
« Odpowiedz #14 : 14.07.2017, 20:28:25 » |
|
Zerknij na to: ; taken from: https://stackoverflow.com/questions/1386293/how-to-parse-out-base-file-name-using-script-fu (define (morph-filename orig-name new-extension) (let* ((buffer (vector "" "" ""))) (if (re-match "^(.*)[.]([^.]+)$" orig-name buffer) (string-append (substring orig-name 0 (car (vector-ref buffer 2))) new-extension) ) ) )
(define (batch-put-images-on-background file-pattern background picture-x picture-y) (let* ( (filelist (cadr (file-glob file-pattern 1))) )
(while (not (null? filelist)) (let* ( (filename (car filelist)) (output-file-name (morph-filename filename "jpg")) (image (car (gimp-file-load RUN-NONINTERACTIVE background background))) (drawable (car (gimp-image-get-active-layer image))) (temp-layer (car (gimp-file-load-layer RUN-NONINTERACTIVE image filename))) )
(gimp-image-add-layer image temp-layer -1) (gimp-layer-set-offsets temp-layer picture-x picture-y) (gimp-image-flatten image)
(gimp-file-save RUN-NONINTERACTIVE image (car (gimp-image-get-active-layer image)) output-file-name output-file-name )
(gimp-image-delete image) ) (set! filelist (cdr filelist)) ) )) Wywołuje się to: gimp -i -b '(batch-put-images-on-background "*.png" "background.jpg" 30 70)' -b '(gimp-quit 0)'
|
|
|
Zapisane
|
|
|
|
DekoGlas
Nowicjusz
Reputacja: 0
Offline
GIMP: GIMP Painter 2.8
Licencja: Copyright
Wiadomości: 10 Galeria Użytkownika
|
|
« Odpowiedz #15 : 15.07.2017, 12:52:59 » |
|
Co właściwie znaczy "3. ustawia ją w określonym położeniu"? czy chodzi o jakieś stałe wartości?
Tak i nie. Dziś mam do nałożenia na tło 1000 obrazków w miejscu o współrzędnych x, y. Ale kolejnego dnia mam inne zadanie i 2000 innych obrazków muszę nałożyć na inne tło w innym miejscu o współrzędnych a, b.
|
|
|
Zapisane
|
|
|
|
DekoGlas
Nowicjusz
Reputacja: 0
Offline
GIMP: GIMP Painter 2.8
Licencja: Copyright
Wiadomości: 10 Galeria Użytkownika
|
|
« Odpowiedz #16 : 15.07.2017, 12:57:17 » |
|
... W każdym razie potrzebne są jeszcze współrzędne położenia tego zdjęcia, skoro ma zostać umieszczone w wybranym miejscu, a nie jest to środek obrazu.
Otóż to. jednego dnia będą to współrzędne x, y. Za miesiąc a, b.
|
|
|
Zapisane
|
|
|
|
Ziomioslaw
Administrator
Reputacja: 46
Offline
Płeć:
GIMP: 2.10
JID: ziomioslaw@jabber.org
Licencja: Copyright
Wiadomości: 7 433 Galeria Użytkownika
Cyklista Apokalipsy
|
|
« Odpowiedz #17 : 15.07.2017, 13:59:15 » |
|
To w takim razie dobrze zrobiłem, że uczyniłem położenie obrazka na tle parametrami.
|
|
|
Zapisane
|
|
|
|
Ziomioslaw
Administrator
Reputacja: 46
Offline
Płeć:
GIMP: 2.10
JID: ziomioslaw@jabber.org
Licencja: Copyright
Wiadomości: 7 433 Galeria Użytkownika
Cyklista Apokalipsy
|
|
« Odpowiedz #18 : 17.09.2019, 23:39:01 » |
|
Prześlij nam PW.
|
|
|
Zapisane
|
|
|
|
DekoGlas
Nowicjusz
Reputacja: 0
Offline
GIMP: GIMP Painter 2.8
Licencja: Copyright
Wiadomości: 10 Galeria Użytkownika
|
|
« Odpowiedz #19 : 19.09.2019, 20:14:25 » |
|
Panel wiadomości PW nie działa, Pana prywatny mail na jabber też nie.
|
|
|
Zapisane
|
|
|
|
Ziomioslaw
Administrator
Reputacja: 46
Offline
Płeć:
GIMP: 2.10
JID: ziomioslaw@jabber.org
Licencja: Copyright
Wiadomości: 7 433 Galeria Użytkownika
Cyklista Apokalipsy
|
|
« Odpowiedz #20 : 20.09.2019, 10:19:53 » |
|
Dostałem PW, odpisałem nawet. Czemu nie działa PW?
|
|
|
Zapisane
|
|
|
|
DecoCat
Nowicjusz
Reputacja: 0
Offline
Wiadomości: 8 Galeria Użytkownika
|
|
« Odpowiedz #21 : 15.09.2021, 17:39:42 » |
|
Dzień dobry, czy ktoś zechciałby mi powiedzieć, wskazać link, jak skorzystać z tego typu skryptu? Wywołuje się to:
[code]gimp -i -b '(batch-put-images-on-background "*.png" "background.jpg" 30 70)' -b '(gimp-quit 0)' Gdzie wkleić skrypt? W jakiej postaci? Czy będzie dostępny z poziomu menu? Potrzebuje instrukcji krok po kroku. Pozdrawiam
|
|
|
Zapisane
|
|
|
|
be@
Moderator globalny
Reputacja: 49
Offline
Płeć:
GIMP: 2.8
Licencja: CC-BY
Wiadomości: 7 405 Galeria Użytkownika
|
|
« Odpowiedz #22 : 15.09.2021, 19:47:25 » |
|
Wkleić do notatnika i zapisać z rozszerzeniem SCM, a następnie wrzucić do folderu scripts
|
|
|
Zapisane
|
|
|
|
DecoCat
Nowicjusz
Reputacja: 0
Offline
Wiadomości: 8 Galeria Użytkownika
|
|
« Odpowiedz #23 : 15.09.2021, 20:48:57 » |
|
Be@, dziękuję, a gdzie się wywołuje? 1. Wkleić do notatnika i zapisać z rozszerzeniem SCM, a następnie wrzucić do folderu scripts 2. Wywołuje się to: gimp -i -b '(batch-put-images-on-background "*.png" "background.jpg" 30 70)' -b '(gimp-quit 0)' 3. A gdzie się wywołuje?
|
|
|
Zapisane
|
|
|
|
be@
Moderator globalny
Reputacja: 49
Offline
Płeć:
GIMP: 2.8
Licencja: CC-BY
Wiadomości: 7 405 Galeria Użytkownika
|
|
« Odpowiedz #24 : 15.09.2021, 20:52:44 » |
|
Skrypt po prostu pojawi się w menu, jeśli będzie prawidłowo zapisany. Ew. trzeba odświeżyć skrypty albo zrestartować program jeśli był włączony podczas dodawania skryptu. Nigdy nie pamiętam, jakie trzeba wybrać kodowanie podczas zapisu, ale chyba UTF-8
|
|
|
Zapisane
|
|
|
|
DecoCat
Nowicjusz
Reputacja: 0
Offline
Wiadomości: 8 Galeria Użytkownika
|
|
« Odpowiedz #25 : 15.09.2021, 21:20:58 » |
|
Ok, po prostu pojawi się w menu. To po co jest wywołanie, o którym pisze Ziomioslaw? I gdzie to wywołać? gimp -i -b '(batch-put-images-on-background "*.png" "background.jpg" 30 70)' -b '(gimp-quit 0)'
|
|
|
Zapisane
|
|
|
|
be@
Moderator globalny
Reputacja: 49
Offline
Płeć:
GIMP: 2.8
Licencja: CC-BY
Wiadomości: 7 405 Galeria Użytkownika
|
|
« Odpowiedz #26 : 15.09.2021, 21:23:04 » |
|
A to Ziomioslawa pytaj, ale wątpię, żeby odpowiedział cokolwiek zrozumiałego
|
|
|
Zapisane
|
|
|
|
DecoCat
Nowicjusz
Reputacja: 0
Offline
Wiadomości: 8 Galeria Użytkownika
|
|
« Odpowiedz #27 : 15.09.2021, 22:48:30 » |
|
A to Ziomioslawa pytaj, ale wątpię, żeby odpowiedział cokolwiek zrozumiałego Właśnie jego pytam.
|
|
|
Zapisane
|
|
|
|
DecoCat
Nowicjusz
Reputacja: 0
Offline
Wiadomości: 8 Galeria Użytkownika
|
|
« Odpowiedz #28 : 16.09.2021, 00:01:37 » |
|
Be@, w takim układzie zapytam inaczej. Jest na forum ktoś inny, kto pociągnie temat równie dobrze, ale czasowo sprawniej niż Ziomioslaw?
|
|
|
Zapisane
|
|
|
|
be@
Moderator globalny
Reputacja: 49
Offline
Płeć:
GIMP: 2.8
Licencja: CC-BY
Wiadomości: 7 405 Galeria Użytkownika
|
|
« Odpowiedz #29 : 16.09.2021, 09:39:57 » |
|
Były tu osoby znające się na skryptowaniu, ale od dłuższego czasu nie zaglądają na forum Możesz spróbować wysłać pw np. do POGO czy MareroQ, albo jeśli znasz angielski, to zapytaj na forum gimpchat.com. MareroQ też tam urzęduje
|
|
|
Zapisane
|
|
|
|
be@
Moderator globalny
Reputacja: 49
Offline
Płeć:
GIMP: 2.8
Licencja: CC-BY
Wiadomości: 7 405 Galeria Użytkownika
|
|
« Odpowiedz #30 : 16.09.2021, 10:28:11 » |
|
Wydaje mi się, że to wywołanie trzeba wpisać w konsolę:
|
|
|
Zapisane
|
|
|
|
DecoCat
Nowicjusz
Reputacja: 0
Offline
Wiadomości: 8 Galeria Użytkownika
|
|
« Odpowiedz #31 : 16.09.2021, 18:29:31 » |
|
Ślicznie dziękuję za cenne wskazówki!
|
|
|
Zapisane
|
|
|
|
Ziomioslaw
Administrator
Reputacja: 46
Offline
Płeć:
GIMP: 2.10
JID: ziomioslaw@jabber.org
Licencja: Copyright
Wiadomości: 7 433 Galeria Użytkownika
Cyklista Apokalipsy
|
|
« Odpowiedz #32 : 16.09.2021, 20:12:06 » |
|
Ok, po prostu pojawi się w menu. To po co jest wywołanie, o którym pisze Ziomioslaw? I gdzie to wywołać? gimp -i -b '(batch-put-images-on-background "*.png" "background.jpg" 30 70)' -b '(gimp-quit 0)' Przecież to wywołanie z powłoki systemowej. To co się popularnie nazywa konsolą.
|
|
|
Zapisane
|
|
|
|
|
DecoCat
Nowicjusz
Reputacja: 0
Offline
Wiadomości: 8 Galeria Użytkownika
|
|
« Odpowiedz #34 : 16.09.2021, 20:38:15 » |
|
Be@, niestety MareroQ był tu ostatnio dokładnie pięć lat temu, a Pogo 3 lata temu.
|
|
|
Zapisane
|
|
|
|