Hallo,
http://paste.pocoo.org/show/99727/
Viele Grüße
Animiertes Gif (Klasse dazu)
Nette Idee!
Dankeschön! 
Und nochmal einen Tick eleganter mit Vererbung:
http://paste.pocoo.org/show/99867/
Bilddateien, also mehrere Frames einer gif-Animation, kann man verwenden, wenn diese z.B. "b1.gif", "b2.gif", "b3.gif" usw. heißen, und man die Klasse mit
aufruft.
Sollte auch mit größeren Bildern funktionieren.
Ein Fernziel wäre, Animationen mit Bildern wie diesen
http://www.geocities.com/thebardstale/t ... tml?200513
("Monster Details and Artwork", die sind im Spiel ähnlich einer gif-Animation bewegt) in ein Rollenspiel (Ansatz:
http://www.python-forum.de/topic-7603.html
am Ende) einzubauen. Das Ziel werde ich aber wohl nicht erreichen, da ich überhaupt nicht malen kann
.
Ist ja auch nur Spaß
...
Viele Grüße

Und nochmal einen Tick eleganter mit Vererbung:
http://paste.pocoo.org/show/99867/
Bilddateien, also mehrere Frames einer gif-Animation, kann man verwenden, wenn diese z.B. "b1.gif", "b2.gif", "b3.gif" usw. heißen, und man die Klasse mit
Code: Alles auswählen
self.gif = AnimGifCanvas(master = self.mw,
bg = "gray",
speed = 150,
nrofimages = 3,
fnpart = "b")
Sollte auch mit größeren Bildern funktionieren.
Ein Fernziel wäre, Animationen mit Bildern wie diesen
http://www.geocities.com/thebardstale/t ... tml?200513
("Monster Details and Artwork", die sind im Spiel ähnlich einer gif-Animation bewegt) in ein Rollenspiel (Ansatz:
http://www.python-forum.de/topic-7603.html
am Ende) einzubauen. Das Ziel werde ich aber wohl nicht erreichen, da ich überhaupt nicht malen kann

Ist ja auch nur Spaß

Viele Grüße
Hallo ihr,
hier noch ein kleines Zusatzskript: Um aus einem animierten Gif (z.B. "b.gif") die benötigten einzelnen Frame-Dateien ("b1.gif", "b2.gif", "b3.gif") zu extrahieren, gibt es mehrere Möglichkeiten:
Unter Windows kann man das mit dem Bildbetrachter "IrfanView"
http://www.irfanview.de/
machen.
Unter Linux kann man sich das Bild zunächst mit "gimp" anschauen. Gleich oben in der Fenstertitelleiste wird die Anzahl der Ebenen des Bildes angezeigt. Diese Zahl verwendet man auch für die Angabe von "nrofimages".
Das Extrahieren der Frames kann man dann automatisch mit "ImageMagick"
http://www.imagemagick.org/
und dem folgenden Python-Skript machen, das mit "os.system()" ImageMagicks "convert"-Befehl aufruft:
Vielleicht geht es auch mit PIL, aber ich hab's jetzt halt so gemacht
.
Viele Grüße
hier noch ein kleines Zusatzskript: Um aus einem animierten Gif (z.B. "b.gif") die benötigten einzelnen Frame-Dateien ("b1.gif", "b2.gif", "b3.gif") zu extrahieren, gibt es mehrere Möglichkeiten:
Unter Windows kann man das mit dem Bildbetrachter "IrfanView"
http://www.irfanview.de/
machen.
Unter Linux kann man sich das Bild zunächst mit "gimp" anschauen. Gleich oben in der Fenstertitelleiste wird die Anzahl der Ebenen des Bildes angezeigt. Diese Zahl verwendet man auch für die Angabe von "nrofimages".
Das Extrahieren der Frames kann man dann automatisch mit "ImageMagick"
http://www.imagemagick.org/
und dem folgenden Python-Skript machen, das mit "os.system()" ImageMagicks "convert"-Befehl aufruft:
Code: Alles auswählen
#!/usr/bin/env python
#-*- coding: iso-8859-1 -*-
import os
import sys
# gifextract.py:
# Needs ImageMagick ("convert") to be installed.
s = sys.argv
if len(s) < 3 or not s[1].endswith(".gif") or not s[2].isdigit():
print "\ngifextract.py:\n"
print "Usage: gifextract.py file.gif nrofimages\n"
sys.exit()
s[1] = s[1][:-4]
s[2] = int(s[2])
print "\nRunning:\n"
for i in range(s[2]):
execstr = 'convert "' + s[1] + '.gif[' + str(i) + ']" "' + s[1] + str(i + 1) + '.gif"'
print execstr
os.system(execstr)
print "\nDone.\n"

Viele Grüße
Nutz subprocess, dann funktioniert dein Skript auch mit Dateinamen, die Anführungszeichen enthalten.
Code: Alles auswählen
s[1] = s[1][:-4]
Code: Alles auswählen
s[1] = os.path.splitext(s[1])[0]