Grafik in Python Quelltext

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
AllesMeins
User
Beiträge: 63
Registriert: Donnerstag 20. November 2003, 13:45
Wohnort: Frankfurt/M.

Hiho,

für eines meiner "Werke" benötige ich eine kleine Spacer-Grafik. Nun habe ich mir überlegt das es eigentlich viel angenehmer wäre anstatt jedes mal zu testen ob diese Grafik da ist wo sie sein soll, diese im Zweifellsfall einfach von meinem script generieren zu lassen. Und da so ein Spacer ja relativ klein ist müsste ich die Grafik noch nicht einmal irgendwie aufwendig generieren sondern es würde auch einfach reichen die Grafik einfach "zeichen für zeichen" direkt in den Quelltext zu setzten und mit nem einfachen write() dann daraus wieder die Grafik zu erzeugen. Nun haben so Grafiken aber die unangenehme eigenschaft das ich ja nicht einfach so "per Notepad" kopieren kann.
Deshalb die Frage: Wie kann ich eine Grafik in etwas "Textfähiges" umwandeln und beim rausschreiben wieder zurück verwandeln?

Ich hoffe mal das ist irgendwie verständlich...

Grüsse

Marc
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Hi Marc,

da gibts einige Möglichkeiten, hängt halt von der Grafik ab.
Wie gross in Pixeln ist denn die Grafik, und wieviele Farben hat sie?


Gruß

Dookie
AllesMeins
User
Beiträge: 63
Registriert: Donnerstag 20. November 2003, 13:45
Wohnort: Frankfurt/M.

Hiho,

die Grafik um die es im Moment geht ist PNG 1x1px und transparent. Aber es kann sein das ich noch 1-2 Grafiken brauche, die dann aber auch alle maximal 4 Farben haben und vielleich 10x10 gross sind. Aber wie gesagt, eigentlich müsste es auch für alle Grafiken machbar sein.
Zum Beispiel kann man eine Grafik auch direkt in HTML Quelltext schreiben (ist zwar nicht wirklich sinnvoll aber geht):
http://selfaktuell.teamone.de/artikel/g ... dex.htm#a3

So ähnlich müsste ich doch auch mit python eine Grafik umwandeln können um sie im (Python-)Quelltext zu schreiben. Und ganz besonders macht mir dann noch de rumgekehrte Weg Probleme, nämlich das codietre Bild wieder richtig zu schreiben.

Aber das ist nur meine Idee, wenn du was anderes/einfacheres hast immer her damit ich bin offen für alles...

Grüsse

Marc
Milan
User
Beiträge: 1078
Registriert: Mittwoch 16. Oktober 2002, 20:52

Hi. Mach mal das hier:

Code: Alles auswählen

f=file("test.gif","wb")
f.write('GIF89a\x14\x00\x16\x00\xc2\x00\x00\xff\xff\xff\xcc\xff\xff\x99\x99\x99333\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00!\xfeNThis art is in the public domain. Kevin Hughes, kevinh@eit.com, September 1995\x00!\xf9\x04\x01\x00\x00\x01\x00,\x00\x00\x00\x00\x14\x00\x16\x00\x00\x03h8\xba\xbc\xf10\x0c@\xab\x9d#\xbei;\xcf\x11\x07\x08\x02a\x9a"\xb8Q\xe5y\x8a\x80\xca\xb5.J\x0c7\xb1\x02\xae0\xd6\xa7\x9d\xab\xd2#\xe9$\x9d\n\x8d@*\xed,K\x13\xeb\x08\xfb\xd5|\xbf\'\x05\x88\xcd"-\xbd\x8e\xf3K<%\xc7\xd5$\x94\xda\x19\x8a\xd9`\xf3[\xcb\x93\xaf\xe9j%<?\x97\x0c\x9a\x80\x81$8\x11@\x86A\x01\t\x00;')
f.close()
Danach schaust du dir mal das gif an :wink: . So kannst du einfach Grafiken im Quelltext speichern, der Trick war das ganze von Python auslesen zu lassen:

Code: Alles auswählen

f=file("test.gif","rb")
inhalt=f.read()
f.close()
inhalt=repr(inhalt)
f=file("text.txt","wb")
f.write(inhalt)
f.close()
Somit hast du die Pythonescapesequenzen, die du brauchst in text.txt stehen und brauchst sie nur in deinen Quellcode zu kopieren.
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Das ganze wie von Milan beschrieben geht auch mit *.png.

Gruß

Dookie
AllesMeins
User
Beiträge: 63
Registriert: Donnerstag 20. November 2003, 13:45
Wohnort: Frankfurt/M.

Danke ihr zwei... Scheint alles zu klappen (auch wenn ich um die Uhrzeit wirklich nicht die Geduld habe das eingehend zu testen).

Grüsse

Marc
Antworten