Vor einigen Jahren hatte ich ein paar Scripte für den nautilus vorgestellt.

Ich habe heute einen kleinen Bug beseitigt und vom Resize Script 2 Unterarten erstellt.

Die Scripte gehören in $HOME/.local/share/nautilus/scripts/

Sie müssen mit chmod +x ausführbar gemacht werden, damit sie im Kontext Menü des Nautilus sichtbar sind. 

Optional durch einschalten der Zeilen um exiftool werden die EXIF Tags auf die reduzierte Version übernommen

resize_auto_orient.sh

!/bin/bash
#
#  Titel: resize_auto_orient.sh
#  Autor: Bed [@] zockertown.de
#  Web: zockertown.de/s9y/
#  Version 0.4
#  Voraussetzung: Benötigt wird Imagemagick für das Consolentool convert
#  und mogrify
#  Zweck: skaliert die Bilder auf 1280x1024, wenn im Quellbild die
#         Orientierungshinweise intakt sind,
#         wird das Bild korrekt gedreht.
#         Das skalierte Bild wird mit einer Textnotiz versehen, wenn in
#         der Schleife der mogrify disabled wird (durch einfügen des '#')
#         wird das Branding nicht durchgeführt.
# Die Zeilen mit exiftool und rm sind optional und übernehmen die EXIF Werte vom Original.
count=$(/bin/echo $NAUTILUS_SCRIPT_SELECTED_URIS|wc -w)
teil=$[100 / $count ]
teiler=$teil
( for file in $NAUTILUS_SCRIPT_SELECTED_URIS; do
    file_name=$(echo $file | sed -e 's/file:\/\///g' -e 's/\%20/\ /g' -e 's/.*\///g')
    file_folder=$(echo $file | sed -e 's/file:\/\///g' -e 's/\%20/\ /g' -e "s/$file_name//g")
        convert -auto-orient -strip -geometry 1280x1024 -quality 80 "$file_folder/$file_name" "${file_folder}/${file_name}_resized_1280x1024.jpg"
       # exiftool -tagsFromFile IMG_1857.JPG "$file_folder/$file_name" "${file_folder}/${file_name}_max_1024kb.jpg"
       # rm "${file_folder}/${file_name}_max_1024kb.jpg_original"
        teiler=$[$teiler + $teil]
        echo $teiler
        mogrify -pointsize 10 -fill gray -gravity SouthWest -draw "text 10,20 'Copyright Bernd Dau'" "${file_folder}/${file_name}_resized_1280x1024.jpg"
done ) | (zenity --progress --percentage=$teil --auto-close)

resize_auto_orient-max-256kb.sh

#!/bin/bash
#
#  Titel: resize_auto_orient-max-256kb.sh
#  Autor: Bed [@] zockertown.de
#  Web: zockertown.de/s9y/
#  Version 0.4
#  Voraussetzung: Benötigt wird Imagemagick für das Consolentool convert
#  und mogrify
#  Zweck: skaliert die Bilder auf 1280x1024, wenn im Quellbild die
#         Orientierungshinweise intakt sind,
#         wird das Bild korrekt gedreht.
#         Es wird das Bild so komprimierrt, dass es den eingestellten Wert (hier 256KB) nicht überschreitet
#         Dies ist für Foren nützlich, wenn die nur eine begrenzte File_size erlauben
#         Das skalierte Bild wird mit einer Textnotiz versehen, wenn in
#         der Schleife der mogrify disabled wird (durch einfügen des '#')
#         wird das Branding nicht durchgeführt.
count=$(/bin/echo $NAUTILUS_SCRIPT_SELECTED_URIS|wc -w)
teil=$[100 / $count ]
teiler=$teil
( for file in $NAUTILUS_SCRIPT_SELECTED_URIS; do
    file_name=$(echo $file | sed -e 's/file:\/\///g' -e 's/\%20/\ /g' -e 's/.*\///g')
    file_folder=$(echo $file | sed -e 's/file:\/\///g' -e 's/\%20/\ /g' -e "s/$file_name//g")
        convert -auto-orient -strip -define jpeg:extent=256kb -geometry 1280x1024 "$file_folder/$file_name" "${file_folder}/${file_name}_max_256kb_1280x1024.jpg"

        teiler=$[$teiler + $teil]
        echo $teiler
        mogrify -pointsize 10 -fill gray -gravity SouthWest -draw "text 10,20 'Copyright Bernd Dau'" "${file_folder}/${file_name}_max_256kb_1280x1024.jpg"
done ) | (zenity --progress --percentage=$teil --auto-close)

shrink-max_256k.sh (Natürlich muß man sich im Klaren sein, dass hier evtl. die Bildqualtität leidet. Für Landschaftsaufnahmen von Kamera Auflösung in 3MB auf 256KB bleibt das nicht aus)

#!/bin/bash
#
#  Titel: shrink-max_256k.sh
#  Autor: Bed [@] zockertown.de
#  Web: zockertown.de/s9y/
#  Version 0.4
#  Voraussetzung: Benötigt wird Imagemagick für das Consolentool convert
#  und mogrify
#  Zweck: Die Auflösung der Bilder wird nier nicht verändert. Wenn im Quellbild die
#         Orientierungshinweise intakt sind,
#         wird das Bild korrekt gedreht.
#         Es wird das Bild so komprimiert, dass es den eingestellten Wert (hier 256KB) nicht überschreitet
#         Dies ist für Foren nützlich, wenn die nur eine begrenzte File_size erlauben
#         Das skalierte Bild wird mit einer Textnotiz versehen, wenn in
#         der Schleife der mogrify disabled wird (durch einfügen des '#')
#         wird das Branding nicht durchgeführt.
count=$(/bin/echo $NAUTILUS_SCRIPT_SELECTED_URIS|wc -w)
teil=$[100 / $count ]
teiler=$teil
( for file in $NAUTILUS_SCRIPT_SELECTED_URIS; do
    file_name=$(echo $file | sed -e 's/file:\/\///g' -e 's/\%20/\ /g' -e 's/.*\///g')
    file_folder=$(echo $file | sed -e 's/file:\/\///g' -e 's/\%20/\ /g' -e "s/$file_name//g")
        convert -auto-orient -strip -define jpeg:extent=256kb "$file_folder/$file_name" "${file_folder}/${file_name}_max_256kb.jpg"
        teiler=$[$teiler + $teil]
        echo $teiler
        mogrify -pointsize 10 -fill gray -gravity SouthWest -draw "text 10,20 'Copyright Bernd Dau'" "${file_folder}/${file_name}_max_256kb.jpg"
done ) | (zenity --progress --percentage=$teil --auto-close)

 

No comments

Add Comment

E-Mail addresses will not be displayed and will only be used for E-Mail notifications.

To prevent automated Bots from commentspamming, please enter the string you see in the image below in the appropriate input box. Your comment will only be submitted if the strings match. Please ensure that your browser supports and accepts cookies, or your comment cannot be verified correctly.
CAPTCHA

Standard emoticons like :-) and ;-) are converted to images.
BBCode format allowed
Markdown format allowed