Generell gilt bei den weißen Textstellen auf dieser Seite: Man fügt die
Zeichenfolge aus dem weißen Feld bei dem blinkenden Cursor des Terminals
ein - dann drückt man die Eingabetaste. Es soll hier gezeigt werden wie das folgende dea38-14.gif entstanden ist |
Zunächst öffnet man im Bildbetrachter ein ganz beliebiges Foto, setzt den Bildbetrachter auf 100%-Ansicht und verkleinert das Fenster soweit wie möglich. Dann macht man eine Bildschirmkopie davon. Man öffnet gimp und schneidet das Fenster des Bildbetrachters aus dem Bildschirmfoto aus. Man speichert das Fenster-Bild als br.png ab. |
Man bestimmt in gimp die Größe und Position des sichtbaren
Innenfensters (das Beispielfoto unten ist später entstanden aber es
geht schließlich nur um die Größe des Innenfensters): 324x241+31+51 |
Dann öffnet man in gimp ein Rene-Bild dea38-50.jpg |
und startet mit rechteckiger Maske in der Größe 324x241 an einer Postition die dem geplanten Anfangsbild entpricht. Man kann erst einmal einen Rahmen aufziehen und dann die Pixelwerte manuell ändern. Hier ergibt sich 324x241+137+52. |
Die Änderung des Ausschnittes erfolgt hier mit 6 Pixel nach links und 6 Pixel nach unten |
let a=0; for i in {1..6}; do let b=137-a*6; let c=52+a*6; let a=a+1; convert dea38-50.jpg -crop 324x241+$b+$c +repage q$i.png; done |
Dann werden die Ausschnittsbilder auf das Bild des Bildbetrachters gelegt |
for i in q*.png; do convert br.png $i -geometry +31+51 -composite m${i%.png}.png; done |
Nun hat man 6 Bilder aus denen man ein animiertes gif bauen möchte
indem die Bewegung einmal vorwärts erfolgt und dann wieder rückwärts. Man kann sich die Situation an einem Zahlen-gif anschauen das Zahlen von 01 bis 06 anzeigt. Es hat den Namen deb6464.gif. |
Die enthaltenen Bilder kann man anzeigen durch |
convert deb6464.gif +depth miff:- | montage - -tile 15x -geometry +6+6 -background black x: |
Nun möchte man diese Zahlen in umgekehrter Reihenfolge aneinanderhängen. Die erste Idee ist das gif aufzurufen und die Reihenfolge umzukehren und das gif ein zweites Mal aufzurufen |
convert deb6464.gif -reverse deb6464.gif +depth miff:- | montage - -tile 15x -geometry +6+6 -background black x: |
Deshalb ist es besser die Bilder zu clonen die zwischen dem zweiten Bild 02 (mit Speicher-Nummer 1) und dem vorletzten Bild 05 (mit Speicher-Nummer -2) liegen und davon die Reihenfolge umzukehren |
convert deb6464.gif \( -clone 1--2 -reverse \) +depth miff:- | montage - -tile 15x -geometry +6+6 -background black x: |
Nun möchte man die Anzeigedauer der Bilder auf 8cs setzen aber die
Anzeigedauer des ersten Bildes (mit Speicher-Nummer 0) und des Bild 06
(mit Speicher-Nummer 5) auf 80cs. Dies erreicht man mit den Eingaben \( -clone 5 -set delay 80 \) -swap 5 +delete \( -clone 0 -set delay 80 \) -swap 0 +delete. Um Verluste durch Abspeichern in Zwischenschritten zu vermeiden wird ein Datenstrom erzeugt der dea38-14.gif in einer Zeile fertigstellt: Ausgehend von den q*.png Bildern werden die 6 auf das Bild des Bildbetrachters br.png gelegten Ausschnittsbilder mit einer Anzeigedauer versehen und in einem Datenstrom gesammelt. Dann wird der Datenstrom durch eine pipe | geschickt. Dann werden Anzeigedauern vergrößert und Bilder in umgekehrter Reihenfolge angehängt so daß der Datenstrom jetzt 10 Bilder umfaßt. Dann wird der Datenstrom wieder durch eine pipe | geschickt. Dann erfolgt eine Optimierung wie sie auf der Seite Debian Gnome ImageMagick GIF beschrieben wurde |
for i in q*.png; do convert br.png $i -geometry +31+51 -composite -set delay 8 -loop 0 +depth miff:- ; done | convert - \( -clone 5 -set delay 80 \) -swap 5 +delete \( -clone 0 -set delay 80 \) -swap 0 +delete \( -clone 1--2 -reverse \) +depth miff:- | convert \( - \( -clone 0--1 +append -colors 32 -write mpr:palette +delete \) -map mpr:palette \) -layers optimize dea38-14.gif |
Der Computer braucht einige Sekunden um diesen Datenstrom zu bearbeiten. |