2010-10-07 16 views
5

Właśnie zaczęło używać GIMP dzisiaj. Kiedy ręcznie zmieniam rozmiar płótna w GIMP (tak, że jest on mniejszy niż rozmiar obrazu), pozwala mi przesuwać obraz, dzięki czemu mogę "zmieniać" widoczny obszar. Jak mogę to zreplikować w skrypcie? Innymi słowy, chcę, aby skrypt zatrzymywał się w kroku zmiany rozmiaru płótna i pozwolił mi poprawnie ustawić obraz.GIMP - Skryptowanie zmiany rozmiaru płótna

Powód, dla którego pytam: napisałem mały skrypt, który utworzy kwadratowe miniatury obrazów. Sposób, w jaki to robię polega na zmianie rozmiaru płótna, tak aby wysokość i szerokość były takie same. Jeśli wysokość i szerokość są różne, zmienię wyższy z dwóch, tak aby był taki sam jak niższy (na przykład 600 x 500 staje się 500 x 500). Następnie spłaszczam obraz i skaluję go do tego, czego potrzebuję.

(if (>= width height) 
    (begin 
     (gimp-image-resize image height height 0 0) 
    ) 
    (begin 
     (gimp-image-resize image width width 0 0) 
    ) 
) 

Kod, którego używam do zmiany rozmiaru płótna, znajduje się powyżej. Wiem, że dwie ostatnie wartości w poleceniu zmiany rozmiaru obrazu gimp odnoszą się do przesunięć. To jest to, co chcę ręcznie zmodyfikować, gdy skrypt osiągnie ten krok. Każda pomoc będzie bardzo ceniona. Dzięki!

Odpowiedz

3

Czy Twój kod działa? Jeśli tak, oto lepiej wyglądająca wersja tego samego kodu:

(let ((smaller-edge (min width height))) 
    (gimp-image-resize image smaller-edge smaller-edge 0 0)) 
+1

Działa, chociaż twoja wersja zdecydowanie wygląda na czystszą. Dzięki! Będąc nowicjuszem w GIMP i Scheme, nie znałem wielu dostępnych metod. Niestety to nadal nie rozwiązuje mojego problemu. – zdyn

Powiązane problemy