Seite 1 von 1

file.read() stoppt bei ASCII-Steuerungszeichen 26

Verfasst: Dienstag 18. Juli 2006, 13:16
von flashenposter
Hallo an alle hier und an dieses Forum!

Was versuche ich?

Ich möchte in eine HTML Seite Grafiken integrieren. Dazu verwende ich eine Tabelle mit so vielen Zellen wie das Bild Pixel hat, jede Zelle 1x1 px groß und als bgcolor die Farbe von dem Bildpunkt. Das Rendern wird mit folgendem Script durchgeführt:
http://www.freewebs.com/flashenposter/t ... enderer.py

Das Resultat sieht dann etwa so aus:
http://www.freewebs.com/flashenposter/beispiel.html


Wer es ausprobieren kann, kann folgende Bilder verwenden:

http://www.freewebs.com/flashenposter/gutefarben.bmp - geht
http://www.freewebs.com/flashenposter/boesefarben.bmp - geht nicht

Wo liegt das Problem:

Wenn das Script zu einer Farbe kommt, die irgendwo A1 enthält (zb #AFA100), stoppt es. Das liegt wahrscheinlich daran, dass der Farbwert dann mit dem ASCII-Zeichen für 26 dargestellt wird und dieses Steuerungszeichen für Strg+Z steht. Das Öffnen/Readen wird dadurch an diesem Punkt gestoppt. Wie kann ich das vermeiden?
Ich wäre euch für jeden Hinweis sehr dankbar!

mfg flashenposter

Re: file.read() stoppt bei ASCII-Steuerungszeichen 26

Verfasst: Dienstag 18. Juli 2006, 13:38
von gerold
flashenposter hat geschrieben:Das Öffnen/Readen wird dadurch an diesem Punkt gestoppt.
Hi flashenposter!

Nicht-Textdateien sollten mit "rb" geöffnet werden.

Code: Alles auswählen

f = file("filename", "rb")
Vielleicht wars das schon.

Wozu brauchst du das? Zum Versenden von Spam?

mfg
Gerold

Re: file.read() stoppt bei ASCII-Steuerungszeichen 26

Verfasst: Dienstag 18. Juli 2006, 13:40
von querdenker
flashenposter hat geschrieben:Hallo an alle hier und an dieses Forum!
Ich möchte in eine HTML Seite Grafiken integrieren. Dazu verwende ich eine Tabelle mit so vielen Zellen wie das Bild Pixel hat, jede Zelle 1x1 px groß und als bgcolor die Farbe von dem Bildpunkt.
AUA!!!
Hat das irgendeinen tieferen Sinn?? Oder ist das ein "weil es geht"?
Und offne deine Files bitte als binary:

Code: Alles auswählen

def zeichne(filename):
    fileinhalt=file(filename,"rb")   #read file 

Code: Alles auswählen

pfad=raw_input("Bitte geben sie den Pfad zu einem *.bmp File an:\n>>>  ")
datei=file("picture.html","wb")
datei.write(zeichne(pfad))
datei.close()
Damit werden die Dateien 1:1 übernommen

mfg, querdenker

Nachtrag: sehe gerade, das Gerold den selben Gedanken hatte :D

Danke

Verfasst: Dienstag 18. Juli 2006, 14:02
von flashenposter
Danke euch beiden!
Problem wäre damit gelöst.
gerold hat geschrieben: Wozu brauchst du das? Zum Versenden von Spam?
Wäre sicher eine Anwendungsmöglichkeit. Auf die Idee bin ich noch nicht gekommen.
querdenker hat geschrieben:
flashenposter hat geschrieben:Hallo an alle hier und an dieses Forum!
Ich möchte in eine HTML Seite Grafiken integrieren. Dazu verwende ich eine Tabelle mit so vielen Zellen wie das Bild Pixel hat, jede Zelle 1x1 px groß und als bgcolor die Farbe von dem Bildpunkt.
AUA!!!
Hat das irgendeinen tieferen Sinn?? Oder ist das ein "weil es geht"?
Mir war einfach langweilig, und ich wollte wissen ob es geht. Das Problem selbst würde allerdings auch bei "ernsthafteren" Aufgabenstellungen bestehen.

mfg flashenposter