kleines anfängerproblem mit script-fu

Hier bekommst du Hilfestellungen zu GIMP
Antworten
alex_z
Beiträge: 1
Registriert: Di 29. Mär 2022, 20:29
Betriebssystem: Windows

kleines anfängerproblem mit script-fu

Beitrag von alex_z »

hilfe hilfe hilfe hilfe,

hi, ich stehe vor einer Aufgabe für die ich skript-fu brauche.
ich möchte aus einer größeren grafik bestimmte kleinere kacheln (32x32) ausschneiden und jeweils in eine eigene ebene auf position 0,0 ablegen, um anschließend das gesamte bild, also alle ebenen auf 32x32 zu schneiden und als animiertes gif zu exportieren.

Das ist eine nervige aufgabe, man kann dabei viele kleine fehler machen und ich möchte diese aufgabe schnell auf viele grafiken anwenden können.
Ich habe also versucht Skript-Fu mit dem Befehlsbrowser zu lernen, allerdings bereitet mir die erste funktion schon probleme:
Ich verstehe das image parameter der select-rectangle funktion nicht. wie gebe ich da die unterste ebene ein?

Also was ich brauche ist eigentlich simpel, ich bin nur zu doof:
- select rectangle in der untersten ebene an bestimmten koordinaten
- paste in einer neuen ebene an 0,0
und das ganze 15x

und dann würde ich das skript gerne speichern und wieder aufrufen können, weil ich es noch oft brauche.

welche befehle kann ich nutzen? kann mir irgendjemand weiterhelfen?
Benutzeravatar
Gimplyworxs
Beiträge: 2722
Registriert: Sa 22. Aug 2020, 09:11
Wohnort: Crailsheim, BaWü
Deine Galerie: https://gimp-werkstatt.de/werkstatt-galerie/gimplyworxs
Betriebssystem: Linux Mint 20.1 MATE

Re: kleines anfängerproblem mit script-fu

Beitrag von Gimplyworxs »

Hallo alex_z,

Naja, bei Script-Fu den Überblick zu verlieren oder den Zusammenhang nicht zu sehen geht schnell. Die vielen Klammern, die umgekehrte Notation ( also die Funktionen quasi von hinten lesen zu müssen ... muss man sich dran gewöhnen ...)
Muss es unbedingt Script-Fu sein?
Dann gibt es hier ein Tutorial von Clara Fall:
Tutorials von Clara Fall:
https://gimp-werkstatt-forum.de/viewtop ... f=42&t=409
https://gimp-werkstatt-forum.de/viewtop ... f=42&t=411
https://gimp-werkstatt-forum.de/viewtop ... f=42&t=412

Sehr empfehlenswert finde ich auch die kleine Serie von monsoonami auf YT:
Videos von monsoonami
https://www.youtube.com/playlist?list=P ... 821B2370D4

-------------------------------

Ich würde dir Python empfehlen ( allemal, wenn du erst anfängst). Das ist so viel übersichtlicher. Für GIMP 2.10.x brauchst du Python 2 (kommt bei Windows ja mit).
schöne Tutorials dazu gibts von Jackson Bates:
https://www.youtube.com/playlist?list=P ... V08wxdnWt-
Du wirst zu Python auch so sehr viel mehr Doku finden - und Leute, die dir weiter helfen können.

Was kannst du alles verwenden, also ne Funktionsreferenz gibt's in GIMP selber.
Hilfe > Prozedurenbrowser
Bei Python besser: Filter > Python-Fu > Konsole
Dort auf Durchsuchen ... liefert alles was verwendbar ist
Funktions-Rohlinge zum Kopieren bekommst du, wenn du auf "Anwenden" klickst.
Viele Grüße
Gimplyworxs

Bild
Benutzeravatar
Gimplyworxs
Beiträge: 2722
Registriert: Sa 22. Aug 2020, 09:11
Wohnort: Crailsheim, BaWü
Deine Galerie: https://gimp-werkstatt.de/werkstatt-galerie/gimplyworxs
Betriebssystem: Linux Mint 20.1 MATE

Re: kleines anfängerproblem mit script-fu

Beitrag von Gimplyworxs »

Wenn Python für dich ok wäre, könnte der Anfang so aussehen:

Code: Alles auswählen

#!/usr/bin/env python
# -*- coding: utf-8 -*-
#

# python_fu_alex_z_kopieren 
# Fuer GIMP Version 2.10.x
# Created by alex_z
# Comments directed to https://
#
# License: GPLv3
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY# without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# To view a copy of the GNU General Public License
# visit: http://www.gnu.org/licenses/gpl.html
#
#
# ------------
# | Change Log |
# ------------
# Rel 1: Initial release


from gimpfu import *


def python_fu_alex_z_kopieren(image, drawable):  # FUNCTION DEFINITION
    pdb.gimp_image_undo_group_start(image)
    pdb.gimp_context_push()
    
    
    # YOUR CODE BEGINS=======================

    # width = image.width
    # height = image.height
    # size = min(width, height)
    
    
    # - select rectangle in der untersten ebene an bestimmten koordinaten
    # pdb.gimp_image_select_rectangle(image, operation, x, y, width, height)
    pdb.gimp_image_select_rectangle(image, 2, 0, 0, 32, 32)
    # kopieren in Zwischenablage
    kopiertes_teil = pdb.gimp_edit_copy(drawable)


    # - paste in einer neuen ebene an 0,0
    floating_sel = pdb.gimp_edit_paste(drawable, False)
    # schwebende auswahl verankern
    pdb.gimp_floating_sel_to_layer(floating_sel)


    # YOUR CODE ENDS ========================

    pdb.gimp_context_pop()
    pdb.gimp_image_undo_group_end(image)
    pdb.gimp_displays_flush()
    # return


register(
    "python_fu_alex_z_kopieren",
    'Beschreibung Tooltip',
    'Beschreibung Zusatz',
    'alex_z', 
    'alex_z', 
    "2022-03-30",
    "Mehrmals kopieren",
    "RGB*",
    [
        (PF_IMAGE, "image", "takes current image", None),
        (PF_DRAWABLE, "drawable", "Input layer", None)
    ],
    [],
    python_fu_alex_z_kopieren, menu="<Image>/Test")

main()

Das Ganze abspeichern als alex_z.py in deinem persönlichen plug-ins Ordner. GIMP neu starten und im Menü unter Test ist es dann zu sehen.
Unklar ist mir das mit den 15 mal ... soll er 15 mal dasselbe kopieren? oder werden die Kästchen verschoben?
Viele Grüße
Gimplyworxs

Bild
Antworten