Ich habe heute erst angefangen, GIMP zu benutzen. Wenn ich die Größe der Leinwand in GIMP manuell ändere (so dass sie kleiner ist als die Bildgröße), kann ich das Bild verschieben, so dass ich den sichtbaren Bereich "ändern" kann. Wie kann ich dies in einem Skript nachbilden? Mit anderen Worten: Ich möchte, dass das Skript bei der Größenänderung der Leinwand anhält und mich das Bild korrekt positionieren lässt.
Der Grund für meine Frage: Ich habe ein kleines Skript geschrieben, das quadratische Miniaturansichten von Bildern erstellt. Dazu ändere ich die Größe der Leinwand so, dass die Höhe und Breite gleich sind. Wenn Höhe und Breite unterschiedlich sind, ändere ich die größere der beiden Größen, so dass sie mit der kleineren übereinstimmt (z. B. 600x500 wird zu 500x500). Dann verflache ich das Bild und skaliere es auf die benötigte Größe.
(if (>= width height)
(begin
(gimp-image-resize image height height 0 0)
)
(begin
(gimp-image-resize image width width 0 0)
)
)
Der Code, mit dem ich die Größe der Leinwand verändere, steht oben. Ich weiß, dass die letzten beiden Werte im Befehl gimp-image-resize sich auf die Offsets beziehen. Das ist es, was ich manuell ändern möchte, wenn das Skript diesen Schritt erreicht. Für jede Hilfe wäre ich Ihnen sehr dankbar. Vielen Dank!