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 [2] 3  Wszystkie
DrukujPobierz PDF
Autor Wątek: Opracowanie Skyptu Script-Fu  (Przeczytany 2497 razy)
0 użytkowników i 1 Gość przegląda ten wątek.
Ziomioslaw
Administrator

Reputacja: 46 Online Online

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


Cyklista Apokalipsy


Zobacz profil
« Odpowiedz #14 : 16.11.2022, 23:03:39 »

Jeśli masz obrazek, którego obie krawędzie są mniejsze niż 1500, to zostanie wyśrodkowany. Sprawdziłem właśnie.
Może zamieść obrazek, który sprawia problemy.
Zapisane
mariuszole
Nowicjusz

Reputacja: 3 Offline Offline

Wiadomości: 14
Galeria Użytkownika

mariuszole


Zobacz profil
« Odpowiedz #15 : 16.11.2022, 23:10:24 »

Przepraszam zakręciłem się, wymiary płótna poniżej 1500 mają być dopasowane do wymiaru produktu, dalej ma być kwadratem i mają mieć ramkę aby obrazek nie dotykał krawędzi.

Jeśli zdjęcie ma 1000px a płótno wyniesie 1500x1500px wtedy produkt na miniaturce Allegro będzie malutki. Co innego jeśli uzyskamy obraz 1010x1010px, wtedy miniaturka będzie czytelna.
Zapisane
be@
Moderator globalny

Reputacja: 49 Offline Offline

Płeć: Kobieta
GIMP: 2.8
Licencja: CC-BY
Wiadomości: 7 400
Galeria Użytkownika



Zobacz profil
« Odpowiedz #16 : 16.11.2022, 23:17:00 »

Nie może mieć ramki, bo ramka 5px, tak jak pisałeś w pierwszym poście, nie sprawi, że prostokątny obraz stanie się kwadratem i pewnie stąd całe nieporozumienie. Jak do rendera o wymiarach 1000 x 500px dodasz taką ramkę, to będzie miał wymiary 1010 x 510px, a to zdecydowanie nie jest kwadrat.

A więc ostatecznie chodzi o to, aby tło było kwadratem o boku o 10px dłuższym niż dłuższy bok rendera, ale nie może przekraczać 1500px. Z kolei wymiary samego rendera nie mogą przekraczać 1490px?
Zapisane
mariuszole
Nowicjusz

Reputacja: 3 Offline Offline

Wiadomości: 14
Galeria Użytkownika

mariuszole


Zobacz profil
« Odpowiedz #17 : 16.11.2022, 23:41:31 »

Musiałem przeczytać 2 razy, dokładnie o to chodzi Uśmiech
Zapisane
Ziomioslaw
Administrator

Reputacja: 46 Online Online

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


Cyklista Apokalipsy


Zobacz profil
« Odpowiedz #18 : 17.11.2022, 18:54:55 »

Takie coś?

Kod:
(define (resize-and-add-border image drawable)
(gimp-image-undo-group-start image)
(plug-in-autocrop RUN-NONINTERACTIVE image drawable)

(let* (
(current-width (car (gimp-image-width image)))
(current-height (car (gimp-image-height image)))
(square-size (if
(or (> current-width 1490) (> current-height 1490))
1500
(+ (max current-width current-height) 10)
))
(wanted-width (min (- square-size 10) current-width))
(wanted-height (min (- square-size 10) current-height))
(ratio (min (/ wanted-width current-width) (/ wanted-height current-height)))
(width (* ratio current-width))
(height (* ratio current-height))
)

(gimp-image-scale image width height)
(gimp-image-resize image square-size square-size (/ (- square-size width) 2) (/ (- square-size height) 2))
)

(gimp-image-undo-group-end image)
(gimp-displays-flush)
)

(script-fu-register "resize-and-add-border"
"<Image>/Script-Fu/Resize and add border"
"Automatically adjust contrast of drawable"
"Ziomioslaw"
"Ziomioslaw"
"2022"
"*"
SF-IMAGE "Image" 0
SF-DRAWABLE "Current Layer" 0
)
« Ostatnia zmiana: 18.11.2022, 00:30:01 wysłane przez Ziomioslaw » Zapisane
mariuszole
Nowicjusz

Reputacja: 3 Offline Offline

Wiadomości: 14
Galeria Użytkownika

mariuszole


Zobacz profil
« Odpowiedz #19 : 17.11.2022, 22:24:47 »

Nie mogę wczytać skryptu, przy odświeżaniu dostaje taki błąd:

Błąd podczas wczytywania /home/abakus/.config/GIMP/2.10/scripts/zdjecia-1500.scm:

Error: (/home/abakus/.config/GIMP/2.10/scripts/zdjecia-1500.scm : 1) eval: unbound variable: [

Zapisane
Ziomioslaw
Administrator

Reputacja: 46 Online Online

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


Cyklista Apokalipsy


Zobacz profil
« Odpowiedz #20 : 18.11.2022, 00:30:34 »

Jak wklejałem dodałem [, wystarczy usunąć. Poprawiłem.
Zapisane
mariuszole
Nowicjusz

Reputacja: 3 Offline Offline

Wiadomości: 14
Galeria Użytkownika

mariuszole


Zobacz profil
« Odpowiedz #21 : 18.11.2022, 09:54:19 »

Dziękuję, działa idealnie, mam jeszcze pytanie: Czy istnieje możliwość aby skrypt pobierał nazwę pliku do zapisania z podręcznej pamięci systemu (nazwa skopiowana myszką, prawy przycisk, kopiuj)? Korzystam z Ubuntu.
Zapisane
Ziomioslaw
Administrator

Reputacja: 46 Online Online

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


Cyklista Apokalipsy


Zobacz profil
« Odpowiedz #22 : 18.11.2022, 13:40:52 »

A Ty niechciałeś tego uruchamiać na zawartości katalogu?
Zapisane
mariuszole
Nowicjusz

Reputacja: 3 Offline Offline

Wiadomości: 14
Galeria Użytkownika

mariuszole


Zobacz profil
« Odpowiedz #23 : 18.11.2022, 13:45:42 »

Nie, każdy produkt umieszczam w folderze według schematu: nazwa firma/marka -> kod EAN

Wole sprawdzić zanim zapiszę i dodam do sklepu.
Zapisane
Ziomioslaw
Administrator

Reputacja: 46 Online Online

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


Cyklista Apokalipsy


Zobacz profil
« Odpowiedz #24 : 18.11.2022, 19:43:23 »

Hmm, no ja myślałem, że to będzie wywoływane z konsolki.

Spróbuj tego:

Kod:
(define (resize-into-square image drawable)
  (gimp-image-undo-group-start image)
  (plug-in-autocrop RUN-NONINTERACTIVE image drawable)

  (let* (
      (current-width (car (gimp-image-width image)))
      (current-height (car (gimp-image-height image)))
      (square-size (if
          (or (> current-width 1490) (> current-height 1490))
          1500
          (+ (max current-width current-height) 10)
      ))
      (wanted-width (min (- square-size 10) current-width))
      (wanted-height (min (- square-size 10) current-height))
      (ratio (min (/ wanted-width current-width) (/ wanted-height current-height)))
      (width (* ratio current-width))
      (height (* ratio current-height))
    )

    (gimp-image-scale image width height)
    (gimp-image-resize image square-size square-size (/ (- square-size width) 2) (/ (- square-size height) 2))
  )

  (gimp-image-undo-group-end image)
  (gimp-displays-flush)
)

(define (resize-into-square-save pattern)
  (let* (
      (filelist (cadr (file-glob pattern 1)))
    )

    (while (not (null? filelist))
      (let* (
          (file-name (car filelist))
          (image (car (gimp-file-load RUN-NONINTERACTIVE file-name file-name)))
          (drawable (car (gimp-image-get-active-layer image)))
          (file-name-without-extension (unbreakupstr (butlast (strbreakup file-name ".")) "."))
        )

        (resize-into-square image drawable)
        (gimp-file-save RUN-NONINTERACTIVE image drawable (string-append file-name-without-extension ".jpg") (string-append file-name-without-extension ".jpg"))
        (gimp-file-save RUN-NONINTERACTIVE image drawable (string-append file-name-without-extension ".xcf") (string-append file-name-without-extension ".xcf"))
        (gimp-image-delete image)
      )

      (set! filelist (cdr filelist))
    )
  )
)

(script-fu-register "resize-into-square"
    "<Image>/Script-Fu/Resize and add border"
    "Automatically adjust contrast of drawable"
    "Ziomioslaw"
    "Ziomioslaw"
    "2022"
    "*"
    SF-IMAGE "Image" 0
    SF-DRAWABLE "Current Layer" 0
)

To jak umieścisz w Twoim katalogu ze skryptami (szczegóły: https://www.joelotz.com/blog/2020/batch-autocrop-png-images-in-gimp.html), to będziesz mógł potem wejść do katalogu gdzie są obrazki.

To pozwoli Ci zrobić potem w konsoli coś takiego:

Kod:
gimp -i -b '(resize-into-square-save "*.png")' -b '(gimp-quit 0)'

Uwaga: pamiętaj, że plik 'a.png' zostanie zapisany jako 'a.jpg' i 'a.xcf', więc testuj na początku na katalogu, w którym nie ma plików o innym rozszerzeniu.

Jeśli Ci to nie odpowiada, po prostu dodamy parametr na nazwę, dobrze?
Zapisane
mariuszole
Nowicjusz

Reputacja: 3 Offline Offline

Wiadomości: 14
Galeria Użytkownika

mariuszole


Zobacz profil
« Odpowiedz #25 : 18.11.2022, 23:21:04 »

Nie brałem pod uwagę edycji zdjęć przez konsolę, zawsze jakieś nowe rozwiązanie  Uśmiech

Sprawdziłem, faktycznie zostały utworzone nowe pliki z tym, że plik wyjściowy nie był kwadratem.

Ze zdjęciami z przezroczystym tłem png nie ma problemu, można przerabiać przez konsolę, nie ma tutaj konfliktu nazw, ich jakość jest zazwyczaj dobra. Gdy mamy a.png wychodzi a.xfc i a.jpg, natomiast przy a.jpg otrzymamy a.xfc i a.jpg, który nadpisze oryginalny plik?

Pliki jpg wymagają więcej uwagi, czasem trzeba użyć kubełka, coś wymazać itp, dlatego warto jest otworzyć w plik w Gimpie i sprawdzić.

Jeśli Ci to nie odpowiada, po prostu dodamy parametr na nazwę, dobrze?

Możesz doprecyzować?
Zapisane
Ziomioslaw
Administrator

Reputacja: 46 Online Online

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


Cyklista Apokalipsy


Zobacz profil
« Odpowiedz #26 : 19.11.2022, 01:10:11 »

Sprawdziłem, faktycznie zostały utworzone nowe pliki z tym, że plik wyjściowy nie był kwadratem.

Aha, do poprawy.

Ze zdjęciami z przezroczystym tłem png nie ma problemu, można przerabiać przez konsolę, nie ma tutaj konfliktu nazw, ich jakość jest zazwyczaj dobra. Gdy mamy a.png wychodzi a.xfc i a.jpg, natomiast przy a.jpg otrzymamy a.xfc i a.jpg, który nadpisze oryginalny plik?

Tak, zapis jest zawsze do jpg i xcf. Można to zmienić, tylko na jakie?

Jeśli Ci to nie odpowiada, po prostu dodamy parametr na nazwę, dobrze?

Możesz doprecyzować?

To chyba niepotrzebne, skoro chcesz ręcznie edytować obrazki.
Chodziło mi o nazwę pliku, do którego zostanie zapisany obrazek. Teraz jest to zawsze nazwa oryginału bez rozszerzenia.
Zapisane
Ziomioslaw
Administrator

Reputacja: 46 Online Online

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


Cyklista Apokalipsy


Zobacz profil
« Odpowiedz #27 : 19.11.2022, 11:49:58 »

Sprawdziłem ten skrypt, robi kwadraty dla małych obrazków. Możesz podać wymiary, które są problamatyczne?
Zapisane
Strony: 1 [2] 3  Wszystkie
DrukujPobierz PDF
Polskie Forum Użytkowników GIMP-aHyde zoneBazarZlecę / KupięWątek: Opracowanie Skyptu Script-Fu
Skocz do: