| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |
|

13-11-2009, 13:14
|
|
TriphunEM
Registrierter Benutzer
|
|
Registriert seit: Jun 2003
Beiträge: 538
|
|
PNG Problem beim laden
Hallo, im Anhang findet ihr 2 PNG-Bilder!
Wenn ich mit diesem Code:
PHP-Code:
header('Content-Type: image/png', true); ImagePNG(ImageCreateFromPNG('test-ok.png')); // Geht! ImagePNG(ImageCreateFromPNG('test-err.png')); // Geht NICHT!
das PNG "test-ok.png" lade, bekomm ich das das Bild ausgegeben,
wenn ich "test-err.png" lade, bekomm ich folgenden Fehler:
Zitat:
<b>Warning</b>: imagecreatefrompng() [<a href='function.imagecreatefrompng'>function.imagecreatefrompng</a>]: gd-png: fatal libpng error: Read Error: truncated data in <b>D:\Websites\!Tests\png.php</b> on line <b>113</b><br />
<br />
<b>Warning</b>: imagecreatefrompng() [<a href='function.imagecreatefrompng'>function.imagecreatefrompng</a>]: gd-png error: setjmp returns error condition in <b>D:\Websites\!Tests\png.php</b> on line <b>113</b><br />
<br />
<b>Warning</b>: imagecreatefrompng() [<a href='function.imagecreatefrompng'>function.imagecreatefrompng</a>]: 'test-err.png' is not a valid PNG file in <b>D:\Websites\!Tests\png.php</b> on line <b>113</b><br />
<br />
<b>Warning</b>: imagepng() expects parameter 1 to be resource, boolean given in <b>D:\Websites\!Tests\png.php</b> on line <b>113</b><br />
|
Der Internet-Explorer hat auch ein Problem mit dem Anzeigen des "test-err.png" wobei "test-ok.png" geht!
Komisch das normale Grafikprogramme wie IrvanView das kaputte ohne Probleme lese kann!
Die beiden PNGs werden mit der gleichen Routine erstellt, aber irgendwas ist bei dem einen kaputt! Ich würde das Problem jetzt nicht auf PHP schieben, sonder mich würde interessieren was an dem einen PNG anders ist als bei dem Anderen!
Kann mir jemand helfen?
Danke
PS. Das Problem seht ihr hier auch schon im Browser von php-resource. Das erste PNG bekommt eine Vorschau, das andere nicht!
Edit: Bilder erstmal wieder raus!
Geändert von TriphunEM (14-11-2009 um 14:49 Uhr)
|

13-11-2009, 13:44
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Hallo,
Zitat:
|
'test-err.png' is not a valid PNG file
|
sagt eigentlich alles. Dass manche Programme da etwas großzügiger sind, kann man sich genauso vorstellen, wie Browser auch invalides HTML trotzdem irgendwie rendern. Den Unterschied zwischen den beiden Dateien kann man nicht so ohne weiteres ermitteln. Die offensichtlichen Dinge sind lustigerweise gleich:
- Komprimierung: ZIP
- Auflösung: gesetzt, 192 DPI
- Farbtiefe: 24bit
Gruß,
Amica
|

13-11-2009, 13:53
|
|
DonManfred
Registrierter Benutzer
|
|
Registriert seit: Nov 2003
Beiträge: 80
|
|
Die 2. lässt sich auch nicht mit Fireworks öffnen. Das bild scheint defekt zu sein, was man aber auch aus der Fehlermeldung herauslesen kann. Truncated Data. Da scheint also die Struktur des bildes nicht in Ordnung zu sein....
Geändert von AmicaNoctis (14-11-2009 um 23:57 Uhr)
Grund: Anhang auf Wunsch des TO entfernt
|

13-11-2009, 14:02
|
|
TriphunEM
Registrierter Benutzer
|
|
Registriert seit: Jun 2003
Beiträge: 538
|
|
Ja, das lustige ist aber, die Bilder werden mit ein und der selben Routine erstellt. Um herauszufinden wo der Fehler ist, müsste man genau ermitteln was anders ist!
Gibt es keine Tools, die die Eigenschaften der Bilder genau anzeigt, oder analysieren?
Ich muss halt irgendwie rausfinden, was beim generieren schief läuft! Kann dazu aber keine Code posten, da die Bilder nicht mit PHP erstellt werden und auch kein Zugriff auf den Code habe!
|

13-11-2009, 14:15
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Dann ist der Encoder (wo auch immer der herkommt) fehlerhaft. Selbst wenn du keinen Zugriff auf dessen Code hast, gibt es doch bestimmt jemanden, an den man sich da wenden kann? Ansonsten musst du einen anderen Encoder nehmen.
Ist das eine eigenständige Handschriftenerkennungssoftware oder war die direkt beim Grafiktablett dabei? In letzterem Falle sollte der Hersteller Support leisten. (Nur geraten, worum es gehen könnte.)
|

13-11-2009, 14:18
|
|
Yoshi-
Registrierter Benutzer
|
|
Registriert seit: Oct 2009
Beiträge: 13
|
|
|

13-11-2009, 14:28
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Danke Yoshi!
@TriphunEM: Wer nicht mal ne halbe Stunde auf eine Antwort warten kann, hat auch keine verdient.
Wenn du das nächste Mal vermeiden willst, das Forum zu verärgern, sag entweder dazu, dass es ein Crossposting ist (mit URL zum Original) oder warte mindestens einen Tag. Niemand opfert gerne seine Zeit für eine Antwort, nur um dann festzustellen, dass in einem anderen Forum grade dasselbe durchgekaut wird.
|

13-11-2009, 14:45
|
|
TriphunEM
Registrierter Benutzer
|
|
Registriert seit: Jun 2003
Beiträge: 538
|
|
Hi. Der Encoder ist von C++ und ist eine Bibliothek. Werd da wohl kein Einfluss drauf haben!
Was stimmt nicht an Cross-Posting? ich hab leider nicht viel Zeit für das Problem und ich habe mich dazu entschieden als nach 15 Minuten nur 1 Hit auf dem Thread war. Sorry, dafür...
Und Yoshi, danke, statts zu helfen, zu petzen!!!
|

13-11-2009, 14:50
|
|
Yoshi-
Registrierter Benutzer
|
|
Registriert seit: Oct 2009
Beiträge: 13
|
|
lol
Außerdem auf php.de hab ich dir gesagt woran es zu 80% liegt, da wir nicht wissen wie du das Bild erstellst kann dir eh keiner mehr helfen.
|

13-11-2009, 14:51
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Zitat:
Zitat von TriphunEM
Werd da wohl kein Einfluss drauf haben!
|
Das wissen wir nun ja schon, dass du keinen Einfluss drauf hast. Daher auch der Hinweis, dich an denjenigen mit Einfluss zu wenden oder was anderes zu benutzen.
Zitat:
Zitat von TriphunEM
Was stimmt nicht an Cross-Posting?
|
Hab ich bereits erwähnt!
Zitat:
Zitat von TriphunEM
Und Yoshi, danke, statts zu helfen, zu petzen!!!
|
Er hat nicht gepetzt, sondern nur den Fremdthread verlinkt, damit man sich einen Überblick verschaffen kann, was dort zu dem Thema schon steht, bevor man dasselbe nochmal schreibt. Yoshi hat nur das gemacht, was du von Anfang an hättest machen sollen.
Daher ist deine Anmache bezüglich "petzen" Fehl am Platz!
So, betrachten wir das Crossposting-Thema jetzt als abgehakt und für's nächste Mal weißt du Bescheid, ok?
|

13-11-2009, 14:54
|
|
TriphunEM
Registrierter Benutzer
|
|
Registriert seit: Jun 2003
Beiträge: 538
|
|
Ok! Das ist ein Bibliothek mit aktueller Version für C# .net-Framework. Und es gibt auch nur diese eine für diesen Fall! Kann man leider nix anderes nehmen!
|

13-11-2009, 15:02
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Zitat:
Zitat von TriphunEM
Und es gibt auch nur diese eine für diesen Fall! Kann man leider nix anderes nehmen!
|
Für welchen Fall denn? Es gibt meistens mehrere Lösungen. Nicht, dass ich dir das nicht glauben will, aber mit genaueren Infos besteht wenigstens eine Chance, dass dir jemand helfen kann, ohne genauere Infos ist es unmöglich.
|

14-11-2009, 11:39
|
 |
fireweasel
Registrierter Benutzer
|
|
Registriert seit: Sep 2008
Ort: At home
Beiträge: 680
|
|
Zitat:
Zitat von TriphunEM
Ok! Das ist ein Bibliothek mit aktueller Version für C# .net-Framework. Und es gibt auch nur diese eine für diesen Fall! Kann man leider nix anderes nehmen!
|
Aber ganz sicher gibt es Alternativen: Die Suche nach " libpng c# ".net" bringt eine ganze Menge brauchbarer Links hervor. Es sollte also mindestens einen libpng-Wrapper für die .net-Umgebung geben.
Die libpng ist DIE Referenzimplementierung fürs Lesen und Schreiben von PNG-Grafiken. Sie wird auch von imagecreatefrompng() verwendet. Beide stammen ursprünglich vom selben Autor ( Thomas Boutell [1][2]). Wenn diese Funktion einen Fehler meldet, kannst du sicher sein, dass die Software, mit der die Datei erzeugt wurde, fehlerhaft ist.
Eine andere Möglichkeit wäre, dass das zum Schreiben verwendete Tool seine Arbeit nicht beenden konnte (weil es vorzeitig abgebrochen wurde). Deine test-err.png scheint nicht vollständig zu sein. Pngcheck meldet ein vorzeitiges Dateiende:
Code:
pngcheck -v e:\test\test-err.png
File: e:\test\test-err.png (1635 bytes)
chunk IHDR at offset 0x0000c, length 13
133 x 147 image, 24-bit RGB, non-interlaced
chunk sRGB at offset 0x00025, length 1
rendering intent = perceptual
chunk gAMA at offset 0x00032, length 4: 0.45455
chunk cHRM at offset 0x00042, length 32
White x = 0.3127 y = 0.329, Red x = 0.64 y = 0.33
Green x = 0.3 y = 0.6, Blue x = 0.15 y = 0.06
chunk pHYs at offset 0x0006e, length 9: 7559x7559 pixels/meter (192 dpi)
chunk IDAT at offset 0x00083, length 1486
zlib: deflated, 32K window, fast compression
chunk IEND at offset 0x0065d, length 0
: EOF while reading CRC value
ERRORS DETECTED in e:\test\test-err.png
So wie es ausschaut, befindet sich das Problem möglicherweise hinter den Bilddaten. Deswegen zeigt Irfanview etwas an und unterlässt die Fehlermeldung. Das gleiche gilt für Webbrowser. Die versuchen eben etwas anzuzeigen, anstatt ihre (meist unbedarften) Benutzer mit kryptischen Fehlermeldungen zu verwirren. ImageCreateFromPNG() ist da pingeliger, weil die anderen libGD-Funktionen mit den eingelesenen Bilddaten weiterarbeiten müssen.
__________________
PHP-Code:
class Brick implements Throwable {
// ...
}
Geändert von fireweasel (14-11-2009 um 20:02 Uhr)
|

14-11-2009, 14:48
|
|
TriphunEM
Registrierter Benutzer
|
|
Registriert seit: Jun 2003
Beiträge: 538
|
|
Danke @fireweasel.
ich werde ab dort mal prüfen, ob da ein Fehler entsteht!
Danke!
|

14-11-2009, 23:50
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
@TriphunEM: Ich versteh' deine PM nicht. Was ist mit dem Bild oder was soll ich machen?
Zitat:
|
Zitat von PM von TriphunEM
Könntest du bitte das angehängte Bild (PNG Problem beim laden) von "DonManfred" es handelt sich halt um Unterschriften und die kann ich nicht dauernd online lassen. danke
|
Edit: inzwischen bin ich selbst drauf gekommen, dass das fehlende Wort "löschen" war. Demnächst trotzdem bitte ganze Sätze schreiben
Geändert von AmicaNoctis (15-11-2009 um 00:00 Uhr)
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|