Wasserzeichen via composite

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
Tetsuo
Beiträge: 75
Registriert: 02.06.2006 09:19:56
Wohnort: Soest

Wasserzeichen via composite

Beitrag von Tetsuo » 19.08.2006 21:31:32

Hab folgendes Script aber es funktioniert nicht:

Code: Alles auswählen

#!/bin/bash

## set all to lowercase         
rename 'y/A-Z/a-z/' *

echo "Press enter"
read NAME

echo
echo "Please wait....."     
for i in *.jpg
   do
      composite -geometry +10+10 watersign.png $NAME $i  "*"
   done
Fehlermeldung:

Code: Alles auswählen

composite: InputImagesAlreadySpecified.
Weiß jemand wo der Fehler liegt?

Funktionen sollen sein:
1-Wasserzeichen integrieren an vorgegebener Position
2-Name beibehalten
3-alles in Kleinbuchstaben

Besten Dank schon mal!
Zuletzt geändert von Tetsuo am 21.08.2006 18:52:55, insgesamt 1-mal geändert.

Benutzeravatar
Sam
Beiträge: 838
Registriert: 10.09.2002 11:02:45
Wohnort: Wuppertal

Beitrag von Sam » 19.08.2006 21:35:13


Tetsuo
Beiträge: 75
Registriert: 02.06.2006 09:19:56
Wohnort: Soest

Beitrag von Tetsuo » 19.08.2006 23:15:56

Sam hat geschrieben:http://studio.imagemagick.org/pipermail ... 10954.html
Hilft Dir vielleicht weiter...
Leide rnicht, versteh es zwar aber Zusammenhang zwischen dem Script von mir und das nutzen von -dissolve in deinem Link hilft nicht, empfinde ich als zwei paar Schuhe, zumal ich ja rausbekommen will wo der Fehler im Script liegt ich nutze in der Commandline nur
./watersign

und nicht:
composite -dissolve 60 1.bmp 2.bmp output.bmp

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 21.08.2006 12:47:44

Den Part kapiere ich nicht ganz:

Code: Alles auswählen

for i in *.jpg 
   do 
      composite -geometry +10+10 watersign.png $NAME "*" 
   done
Du iterierst ueber alle JPGs und laesst dir deren Namen in $i ablegen, nutzt $i aber nirgends?!

Tetsuo
Beiträge: 75
Registriert: 02.06.2006 09:19:56
Wohnort: Soest

Beitrag von Tetsuo » 21.08.2006 18:52:27

ähh Sorry soll natürlich rein, da ich aber das aus dem Script rauskopiert habe um zu testen was den Fehler verursagt, ist es hier nicht mit drin, soll natürlich rein.

//Entsprechend editiert.

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 22.08.2006 09:54:40

Ich denke, dein Problem ist das "*". Composite erwartet maximal 4 Dateinamen:
composite [ options ... ] change-image base-image [ mask-image ] output-image
Das "*" wird von der Shell zu allen im Verzeichnis liegenden Dateien extrahiert...

Wenn du die bestehenden Grafiken mit dem watersign.png versehen willst, dann muesste das in etwa so aussehen:

Code: Alles auswählen

composite -geometry +10+10 watersign.png $i $i
Oder wenn die Datei mit Wasserzeichen nen neuen Namen haben soll z.B. so:

Code: Alles auswählen

composite -geometry +10+10 watersign.png $i ${i/.jpg/-signed.jpg}
Damit wuerde aus bild.jpg ein bild-signed.jpg.

Tetsuo
Beiträge: 75
Registriert: 02.06.2006 09:19:56
Wohnort: Soest

Beitrag von Tetsuo » 22.08.2006 18:33:33

Hi, vielen Dank für die Antwort und zusätzlichen Erklärungen, habe es jetzt so:

Code: Alles auswählen

ls -1 *.jpg *.JPG | while read file;
do composite -quality 75 -gravity northeast watersignanna.png "$file" "`basename Wasserzeichen_"$file"`";
done

Tetsuo
Beiträge: 75
Registriert: 02.06.2006 09:19:56
Wohnort: Soest

Beitrag von Tetsuo » 23.08.2006 14:24:24

Nochmal ich, ich hab da noch so ein Problem und zwar egal welches Script ich benutze bei gewissen Bildern stürzt die Session ab und ich bin nach 10 Minuten am Anmeldebildschirm oder der Rechner macht garnichts mehr und ich habe einen "Blackscreen".
Woran liegts?

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 23.08.2006 15:00:13

Hm, wie "es stuerzt die Session ab"?

Tetsuo
Beiträge: 75
Registriert: 02.06.2006 09:19:56
Wohnort: Soest

Beitrag von Tetsuo » 23.08.2006 17:56:34

Hab ich doch dann erklärt: meinte damit das ich auf einmal wieder am Anmeldebildschirm bin ohne das ich irgendwas bewegt / gedrückt habe. Teilweise bootet der auch einfach mal neu. So zum Spaß um für Abwechslung zu sorgen. :evil:

Antworten