Wednesday, February 11, 2026

Gimp Horizontal Flip

 Automate  Horizontal flip by command line single and secure

First:

#!/bin/bash

for f in "$@"; do
    # Extract path, filename, and extension
    DIR="$(dirname "$f")"
    FILE="$(basename "$f")"
    NAME="${FILE%.*}"
    EXT="${FILE##*.}"

    OUTPUT="$DIR/${NAME}_flipped.$EXT"

    gimp -i -b "(let* (
      (image (car (gimp-file-load RUN-NONINTERACTIVE \"$f\" \"$f\")))
      (drawable (car (gimp-image-get-active-layer image)))
    )
    (gimp-item-transform-flip-simple drawable ORIENTATION-HORIZONTAL TRUE 0)
    (gimp-file-save RUN-NONINTERACTIVE image drawable \"$OUTPUT\" \"$OUTPUT\")
    (gimp-quit 0)
    )"
done

Second:

#!/bin/bash

for f in "$@"; do
    DIR="$(dirname "$f")"
    FILE="$(basename "$f")"
    NAME="${FILE%.*}"
    EXT="${FILE##*.}"

    OUTPUT="$DIR/${NAME}_flipped.$EXT"
    TMP="$(mktemp --suffix=".$EXT")"

    # Run GIMP flip
    gimp -i -b "(let* (
      (image (car (gimp-file-load RUN-NONINTERACTIVE \"$f\" \"$f\")))
      (drawable (car (gimp-image-get-active-layer image)))
    )
    (gimp-item-transform-flip-simple drawable ORIENTATION-HORIZONTAL TRUE 0)
    (gimp-file-save RUN-NONINTERACTIVE image drawable \"$TMP\" \"$TMP\")
    (gimp-quit 0)
    )" >/dev/null 2>&1

    # Check result
    if [ $? -eq 0 ] && [ -s "$TMP" ]; then
        mv "$TMP" "$OUTPUT"
        echo "✔ Flipped: $OUTPUT"
    else
        echo "✖ ERROR flipping $f"
        rm -f "$TMP"
    fi
done
 

 

No comments:

Gimp Horizontal Flip

 Automate  Horizontal flip by command line single and secure First: #!/bin/bash for f in "$@"; do     # Extract path, filename, a...